使用http post检查会话和重定向

时间:2017-03-29 09:17:36

标签: php angularjs session

我仍然是angularjs的新手,并试图理解这个概念。我有一个有效的解决方案,但我只需要确保这是一种安全的方式。我有一个$rootScope.$on('$stateChangeStart', function(){}发送一个http帖子到一个php文件,这检查它是否有会话数据并返回" 1"是真实的" 0"是假的。如果为false,则执行$state.go('login');重定向到登录页面。这完全符合我的意愿,但如果这足够安全的话,只需要进一步了解。

2 个答案:

答案 0 :(得分:0)

虽然还有其他几种验证会话数据的方法,但您的方法也很好。

$on括在app.run方法中并检查用户是否在登录页面上,然后避免$http来电。

app.run(function ($rootScope, $state) {
    $rootScope.$on('$stateChangeStart', function (event, next, nextParams, prev, prevParams) {

        //Check if already on login page do not check session
        if (next.name === 'login') {
            return;
        }

        //$http call to check session
    });
});

答案 1 :(得分:0)

  

这完全符合我的意愿,但如果这足够安全,只是想进一步了解。

使用javascript或angular或任何其他SPA框架时,请忘记会话。使用token based authentication系统可以提供更多优势,更高的安全性和更高的可扩展性。

有一个很好的例子here。它涵盖了您需要的令牌库auth的几乎所有方面。虽然它适用于ionic,但并不重要。离子是建立在角度的顶部。