加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

php – 用户身份验证不会在Laravel包中持久存在

发布时间:2020-12-14 19:38:18 所属栏目:大数据 来源:网络整理
导读:这是我第一次尝试使用laravel包并遇到一个问题,其中Auth :: attempt($credentials)在我的登录控制器中工作,但是在重定向到受保护的路由或控制器时,用户不再进行身份验证.下面是我的登录控制器方法,其中重定向到仪表板已注释掉. public function attempt(Requ
这是我第一次尝试使用laravel包并遇到一个问题,其中Auth :: attempt($credentials)在我的登录控制器中工作,但是在重定向到受保护的路由或控制器时,用户不再进行身份验证.下面是我的登录控制器方法,其中重定向到仪表板已注释掉.
public function attempt(Request $request){

    $email =  strtolower(strip_tags(htmlspecialchars($request->input('email'))));
    $password = strip_tags(htmlspecialchars($request->input('password')));

    if (Auth::attempt(array('email' => $email,'password' => $password)))
    {
        // Redirect to dashboard route
        //return redirect()->intended('/admin');
        if(Auth::check())
            print_r(Auth::user());
    }
}

对有效凭据的响应打印出正确的用户记录,并且Auth :: check返回true.但是,当重定向到管理控制器时,用户未经过身份验证.下面是应该输出经过身份验证的用户的管理员控制器方法,但只返回“未记录”.

public function index()
{
    if(Auth::check()) print_r(Auth::user());
    else echo "not logged";
}

两个控制器都使用Auth;,它们的命名空间与vendor / package / pathToDir一致,db设置正确,并且已设置加密密钥.什么出问题的任何想法?谢谢

事实证明问题在于新的Web中间件,将我需要会话数据的所有路由移动到路由组中,一切正常.
Route::group(['middleware' => ['web']],function () {

    Route::get("/login",['uses'=>'SiteLogin@index']);
    Route::post("/login",['uses'=>'SiteLogin@attempt']);
    Route::get("/logout",['uses'=>'SiteLogin@logout']);

    Route::group(['prefix' => 'admin','middleware' => 'auth'],function () {
        Route::get('/',['uses'=>'Admin@index']);
    });
});

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读