美文网首页Laravel框架相关
Laravel 自带 Auth 的登录认证流程分析

Laravel 自带 Auth 的登录认证流程分析

作者: 7c03aed0f01f | 来源:发表于2017-01-16 16:33 被阅读207次
    AuthController 内 use 了 AuthenticatesAndRegistersUsers,
    AuthenticatesAndRegistersUsers 又 use 了 AuthenticatesUsers,
    所以登录验证的入口方法为AuthenticatesUsers->login(Request $request)
    
    先使用AuthenticatesUsers->validateLogin(Request $request)判断登录数据的完整性。
    
    判断是否使用( **默认使用 **)了 ThrottlesLogins的trait
    ,这个 trait 的作用就是对用户多次登录失败的情况进行处理的,登录失败次数超过5次会被锁 60s。
    
    对于被 ThrottlesLogins 锁住的情况进行处理 获取验证登录需要的信息,
    默认需要的字段为 AuthenticatesUsers->loginUsername() 和 password。
    
    使用AuthenticatesUsers->getGuard(),
    获取Guard,Guard的作用就是具体验证登录的。
    AuthController 默认是没有设置的。
    这个Guard是可以在config/auth.php里面配置的。默认为session
    
    使用Guard的attempt(array $credentials = [], $remember = false, $login = true) 方法验证。
    如果要定义自己的Guard,
    建议直接继承SessionGuard,然后覆盖相应需要自定义的逻辑方法。
    或者更暴力一点,直接在AuthController
    里面定义一个public function login(Request $request)方法。
    

    ** 分享 dongyuhappy

    相关文章

      网友评论

        本文标题:Laravel 自带 Auth 的登录认证流程分析

        本文链接:https://www.haomeiwen.com/subject/nldpbttx.html