我对 Laravel 很陌生,我正在尝试制作一个系统来检查用户是否“登录”。
由于某些原因,我正在使用SSPI Authentication。所以基本上,当用户到达网站时,会出现一个登录弹出窗口,要求输入登录名和密码,并且 SSPI 模块针对 AD 进行身份验证。
我想要做的是,在任何路线上,它都会检查会话变量。如果此变量不存在,它会重定向到配置了 SSPI 的路由。
我尝试了以下方法:
Route::any('{all}', function()
{
if (!Session::get('PHP_USER_AUTH')) {
redirect::route('auth');
} else {
return 'Logged in as ' . Session::get('PHP_USER_AUTH');
}
})->where('all', '.*');
Route::get('/auth', function() {
// Do something
});
这是 SSPI 配置:
<files auth>
AuthName "Laravel Auth"
AuthType SSPI
SSPIAuth On
SSPIAuthoritative On
require valid-user
</files>
明显的问题是,当我到达任何路线时,它会检查会话变量,找不到它并重定向到 auth 路线。但是,在 auth 路由上,它还会检查变量,找不到它并重定向等。
有没有办法制作类似的all routes excepts
东西。还是我以错误的方式思考问题?
谢谢你的帮助。