登录Laravel后的密码保护页面
用户注册并登录后,我有一个未列出的页面/机密页面,需要使用另一个密码进行保护 我正试图帮助我做到这一点,但在工作中遇到了一些问题 我在做什么: littlegatekeeper.config:登录Laravel后的密码保护页面,laravel,passwords,spatie,Laravel,Passwords,Spatie,用户注册并登录后,我有一个未列出的页面/机密页面,需要使用另一个密码进行保护 我正试图帮助我做到这一点,但在工作中遇到了一些问题 我在做什么: littlegatekeeper.config: <?php return [ // Login credentials 'username' => env('GATEKEEPER_USERNAME', 'default_username'), 'password' => env('GATEKEEPER_PAS
<?php
return [
// Login credentials
'username' => env('GATEKEEPER_USERNAME', 'default_username'),
'password' => env('GATEKEEPER_PASSWORD', 'default_password'),
// The key as which the littlegatekeeper session is stored
'sessionKey' => 'littlegatekeeper.loggedin',
// The route to which the middleware redirects if a user isn't authenticated
// 'authRoute' => url('login'),
];
Route::get('/secretapage', ['middleware' => 'littlegatekeeper', function () {
return view('dir.secretapage.index');
}]);
Route::get('/secretapage/login', function () {
return view('dir.secretapage.login');
});
Route::post('/secretapage/login/addCredentials', 'SecretController@addCredentials')->name('addCredentials');
<form method="POST" action="{{ route('addCredentials') }}">
...
</form>
SecretController:
<?php
return [
// Login credentials
'username' => env('GATEKEEPER_USERNAME', 'default_username'),
'password' => env('GATEKEEPER_PASSWORD', 'default_password'),
// The key as which the littlegatekeeper session is stored
'sessionKey' => 'littlegatekeeper.loggedin',
// The route to which the middleware redirects if a user isn't authenticated
// 'authRoute' => url('login'),
];
Route::get('/secretapage', ['middleware' => 'littlegatekeeper', function () {
return view('dir.secretapage.index');
}]);
Route::get('/secretapage/login', function () {
return view('dir.secretapage.login');
});
Route::post('/secretapage/login/addCredentials', 'SecretController@addCredentials')->name('addCredentials');
<form method="POST" action="{{ route('addCredentials') }}">
...
</form>
在我登录我的用户之后。然后,我尝试访问URL/secretpage,我被重定向回主页,而不是/secretpage/login
刀片登录文件:
<?php
return [
// Login credentials
'username' => env('GATEKEEPER_USERNAME', 'default_username'),
'password' => env('GATEKEEPER_PASSWORD', 'default_password'),
// The key as which the littlegatekeeper session is stored
'sessionKey' => 'littlegatekeeper.loggedin',
// The route to which the middleware redirects if a user isn't authenticated
// 'authRoute' => url('login'),
];
Route::get('/secretapage', ['middleware' => 'littlegatekeeper', function () {
return view('dir.secretapage.index');
}]);
Route::get('/secretapage/login', function () {
return view('dir.secretapage.login');
});
Route::post('/secretapage/login/addCredentials', 'SecretController@addCredentials')->name('addCredentials');
<form method="POST" action="{{ route('addCredentials') }}">
...
</form>
...
如果我先访问secretpage/login,我可以添加用户名和密码。
然后我就可以进入/secretpage,没有问题了
但是我真的需要让用户先转到/secretpage,然后如果没有使用secret用户名/pass登录,就被重定向到/secretpage/login。我在上找到了一些帮助,这就成功了
将littlegatekeeper配置文件中的authRoute
更改为以下内容
'authRoute' => '/secretpage/login',