【发布时间】:2016-01-06 21:29:15
【问题描述】:
我使用 Laravel 创建 REST API。我在登录 API 中,所以我使用从 Laravel 构建的 AuthController。
但是,当我第一次使用Auth::attempt() 验证用户登录时,我成功获取了用户信息,因为我调用了这个方法Auth::user()。
但是,当我第二次再次运行时,出现以下错误:
NotFoundHttpException in RouteCollection.php line 161:
我知道如果用户已通过身份验证,它会自动发送重定向。并保存会话。
这是我在AuthController.php中的登录代码
public function demo() {
if (Auth::attempt(Input::only('email','password'))) {
return Auth::user();
} else {
return "false";
}
}
我这样写路线:
Route::post('demo', 'Auth\AuthController@demo');
在这种情况下如何禁用重定向? 因为我想从我的移动应用程序调用我的 API。
谢谢
【问题讨论】:
-
似乎重定向是由中间件触发的,请检查您的中间件配置
-
我没有使用任何中间件。
-
请分享一段您尝试验证用户的代码 - Auth::attempt() 不做任何重定向,只返回真/假。并且如果可能的话,您尝试访问的路线。也许您将其置于访客访问权限下 - 因此在授权用户后,它会被重定向到访客允许的路由之外。
-
@Silwerclaw 请检查我的问题。我添加了一些代码。谢谢
-
如果您没有更改默认的 AuthController - 所以在构造函数 $this->middleware('guest', ['except' => 'getLogout' ]);
标签: php api rest laravel authentication