允许用户在laravel 5.2

时间:2016-10-11 10:42:27

标签: laravel laravel-5.2 laravel-authorization

我有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');
});

1 个答案:

答案 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);
    }

此功能仅在您请求不是发布方法时重定向您