laravel auth 授权登录的问题

2019-09-23 11:41:15 +08:00
 JasonTsang

重写 LOGIN 方法

//登录方法
    public function login(Request $request){

        $param = $request->all();

        if($request->method()  == 'GET'){
            return \view('auth.login');
        }

        if (Auth::attempt(['phone' => $param['phone'], 'password' => $param['password']],false) === true) {
            // 认证通过... 这里第一次能登录,当一段时间后 登录失效 重新请求登录的时候 即无法登录,
            // 但我清空缓存即又能登录。重复测试发现,如果在没过期就手动调用 Auth::logout() 哪么就			// 会出现这样的问题。然后我试着在 Auth::logout()之后 手动清空所有 session
            //$request->session()->flush(); 发现依然无法解决,只有在后台点击清空缓存 才可以重新登				//录
            return redirect(route('home'))->with('message', ['登录成功!',1]);
        }else{
            return redirect(route('login'))->with('message',  ['登录失败!',2]);
        }

    }
    
4387 次点击
所在节点    PHP
4 条回复
w516322644
2019-09-23 13:24:22 +08:00
Auth::attempt(array $credentials = [], $remember = false);
JasonTsang
2019-09-23 17:13:54 +08:00
@w516322644 不就是这样吗?
w516322644
2019-09-23 18:42:29 +08:00
@JasonTsang 我最开始以为,那个 false,是保持登录的意思,后来看了,默认就是 false。理解错了。

重新请求登录接口的时候的参数啥的都一样吗?无法登录返回的结果是啥很重要。
mamahaha
2019-09-23 18:51:59 +08:00
登陆成功后应该返回登录前的那个页面,这样用户才会喜欢你。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/603290

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX