用户认证angularjs单页面应用程序

时间:2014-09-01 13:38:34

标签: javascript angularjs single-page-application

我用HTML和Javascript创建了angularjs应用程序。但现在我需要保护应用程序。如果有任何请求来到任何html页面(或html模板或javascript):

  • /主
  • /产品
  • /类别

如果用户未经过身份验证,则应该重定向到登录页面。我没有使用Asp.net或PHP或Java页面。我可以在linux平台上发布我的应用程序。

如何保护angularjs单页应用程序。

1 个答案:

答案 0 :(得分:0)

您可以做的最好的事情是检查每次路线更改时的用户身份验证。但是你做的客户端身份验证很容易通过。但是这也可以是伪代码:

    $rootScope.$on("$routeChangeStart", function (event, next, current) {
        $rootScope.error = null;
        if (!Auth.authorize(next.access)) {//check if the user is authorized to go to next page
            if(Auth.isLoggedIn()) $location.path('/');//if not authorized and is logged in then send him to home page 
            else                  $location.path('/login');//if not logged in ask for login
        }
    }); 

为了获得良好的灵活性,请尝试使用UI-Router,这是一个可以帮助您入门的github项目angular-client-side-auth