我用HTML和Javascript创建了angularjs应用程序。但现在我需要保护应用程序。如果有任何请求来到任何html页面(或html模板或javascript):
如果用户未经过身份验证,则应该重定向到登录页面。我没有使用Asp.net或PHP或Java页面。我可以在linux平台上发布我的应用程序。
如何保护angularjs单页应用程序。
答案 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。