首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在laravel 4中,登录身份验证检查始终返回false

在laravel 4中,登录身份验证检查始终返回false
EN

Stack Overflow用户
提问于 2014-03-11 13:06:34
回答 1查看 1.2K关注 0票数 0

我正在用laravel创建一个登录系统。在我的本地服务器上,代码可以正常工作,但当我将它放在活动服务器上时,Auth::check()保持返回false,因此当我使用正确的凭据登录时,它会再次将我重定向回登录页面。仅供参考我的肝脏服务器使用php 5.4,而我的本地服务器使用php 5.5

这是我的代码。

routes.php

代码语言:javascript
复制
    Route::get('/', function() {
//Auth::check() KEEPS RETURNING FALSE EVEN WHEN USER LOGS IN
                if (Auth::check() == true) {
                    $role = Auth::user()->role;
                    if ($role == 1) {
                        return View::make('administrator');
                    } elseif ($role == 9) {
                        return View::make('agent');
                    }
                } else {
                    return View::make('login');
                }
            });

LoginController.php

代码语言:javascript
复制
 public function login() {
        if (Auth::attempt(array('username' => Input::json('username'), 'password' => Input::json('password')))) {
            return Response::json(Auth::user());
        } else {

            return Response::json(array('flash' => 'Invalid email or password'), 500);
        }
    }
}

angularcontroller.js

代码语言:javascript
复制
    $scope.login = function() {
        //assign variables
        var post = {};
        post.username = $scope.info.username;
        post.password = $scope.info.password;

//Validation
        var errors = 0;


        if (errors == 0) {
            loginServ.login(post).then(function(data) {
                if (data.status == 500) {
                    alert('wrong username or password');
                } else {
                    window.location.replace("");
                }
            });
        }
    };

angular_service.js

代码语言:javascript
复制
login_module.factory('loginServ', function($http, $q) {
    return {
        login: function(post) {

            var url =  "login/login";
            return $q.all([
                $http.post(url, {
                    username: post.username,
                    password: post.password
                })
            ])
                    .then(function(results) {
                var data = [];
                angular.forEach(results, function(result) {
                    data = data.concat(result.data);
                    //  console.log("data: "+result);
                    // console.log("result.data: "+result.data);
                });

                return data[0];
            },
                    function(error) {
                        console.log(error.status);
                        return error;
                        // Handle error here
                    });

        }
    }
});

我有使用angularjs的登录表单。它发送一个POST请求,如果它得到一个200响应,它就会向"/“发送一个GET请求。然而,即使使用正确的登录凭据,它仍然会返回到相同的登录页面。

谢谢

EN

回答 1

Stack Overflow用户

发布于 2014-08-14 12:13:00

尝试更改cookie =>‘app\config\session.php’中的值。这应该可以解决这个问题

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22316901

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档