我们有一个使用AngularJS(1.6)的单页面应用程序和一个运行JAVA Spring MVC的服务器端。在进行身份验证之后,服务器会为index.htm文件提供一个包含所有应用程序模块的主JS文件。
现在需要为某些用户角色提供一些模块。实现这一目标的可接受方式是什么?
我在考虑在服务器端创建一个过滤器以捕获对该JS文件的请求,并根据用户角色,从JS文件中删除用户不应该看到的模块。
这似乎不是一个优雅的解决方案,我想知道是否有更好的方法来实现这一点。
谢谢!
答案 0 :(得分:1)
您可以看到以下示例Login example。它使用rest http身份验证,并在标头中使用用户名和密码来生成加密标头。有关后端代码,请参阅Rest Api。请参阅身份验证服务
if (LocalStorage.Get('auth') !== null) {
$http.defaults.headers.common.Authorization = LocalStorage.Get('auth');
return true;
}
else {
return false;
}
答案 1 :(得分:0)
您可以使用基于客户端的身份验证库,例如satellizer,并实施路由器的授权