登录Laravel后的密码保护页面

登录Laravel后的密码保护页面,laravel,passwords,spatie,Laravel,Passwords,Spatie,用户注册并登录后,我有一个未列出的页面/机密页面,需要使用另一个密码进行保护 我正试图帮助我做到这一点,但在工作中遇到了一些问题 我在做什么: littlegatekeeper.config: <?php return [ // Login credentials 'username' => env('GATEKEEPER_USERNAME', 'default_username'), 'password' => env('GATEKEEPER_PAS

用户注册并登录后,我有一个未列出的页面/机密页面,需要使用另一个密码进行保护

我正试图帮助我做到这一点,但在工作中遇到了一些问题

我在做什么: littlegatekeeper.config:

<?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',