我有laravel 5.2应用程序,如果用户已经登录,用户只能访问/login
。现在我们已经在其他应用程序中实现了" 登录我们的应用程序的功能(不是laravel )&#34 ;.现在的问题是,当请求应用程序进行ajax调用以进行登录时,如果用户未在请求之前登录,则laravel 5.2将返回完美响应。但登录后,如果再次请求app登录, laravel app将返回主页视图。我想在处理登录请求之前自定义它并让用户注销。我花了太多时间在互联网和调试上。但到处都有人要求限制登录页面。但我的要求是允许请求/login
使用post方法并自定义响应。如果有人知道答案,我们将不胜感激。
以下是请求应用的代码
$.ajax({
type: 'POST',
url: 'http://192.168.1.78/my-app/login',
data: {
st_email: 'xyz@xyz.com',
st_password: 'myPass'
}
}).success(function (response) {
// getting view in response if user is already restrict
}).error(function () {
console.log('error');
});
答案 0 :(得分:1)
在你的app / Http / Middleware / RedirectIfAuthenticated中你有这个功能:
public function handle($request, Closure $next, $guard = null)
{
if (Auth::guard($guard)->check()) {
return redirect('/');
}
return $next($request);
}
如果您的应用停止将您从/ login重定向,则将其删除。你也可以像这样编辑这个函数:
public function handle($request, Closure $next, $guard = null)
{
if (Auth::guard($guard)->check() and ! $request->isMethod('post')) {
return redirect('/');
}
return $next($request);
}
此功能仅在您请求不是发布方法时重定向您