laravel默认的登录流程是通过表单用户输入账号密码登录,然后提交表单登录,
但我想实现 访问一个控制器里的方法,然后就登录了某个用户 (用户在控制器里指定),即不需要提交表单就登录,
有办法实现吗?
2 回答
达令说
TA贡献1821条经验 获得超6个赞
使用了Auth::guard()->login($user, true); 解决了;
其中$user为User模型, 模型里面需要引用Authenticatable类
慕标琳琳
TA贡献1830条经验 获得超9个赞
使用一个中间件,然后在需要的路由上附上中间件。
中间价的代码基本就这样:
public function handle($request, Closure $next, $guard = null)
{
// 要认证的用户
$user = User::where('status', 1)->where()->first();
if ($user) {
Auth::login($user);
}
return $next($request);
}
# 控制器方法
public function index()
{
$user = Auth::user();
}
- 2 回答
- 0 关注
- 398 浏览
添加回答
举报
0/150
提交
取消