使用 AngularJS 进行授权
Posted
技术标签:
【中文标题】使用 AngularJS 进行授权【英文标题】:Authorization with AngularJS 【发布时间】:2018-01-23 09:40:06 【问题描述】:我们有一个带有 AngularJS (1.6) 的单页应用程序和一个运行 JAVA Spring MVC 的服务器端。身份验证后,服务器交付 index.htm 文件和一个包含所有应用程序模块的主 JS 文件。
现在需要使某些模块对某些用户角色可用。实现这一目标的公认方法是什么?
我正在考虑在服务器端创建一个过滤器来捕获对该 JS 文件的请求,并根据用户角色,从 JS 文件中删除用户不应该看到的模块。
这似乎不是一个真正优雅的解决方案,我想知道是否有更好的方法来实现这一点。
谢谢!!
【问题讨论】:
【参考方案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;
【讨论】:
【参考方案2】:您可以使用基于客户端的身份验证库,例如 satellizer,并从您的路由器实现授权
【讨论】:
以上是关于使用 AngularJS 进行授权的主要内容,如果未能解决你的问题,请参考以下文章
如何在 AngularJS 和 FireBase 中进行简单的基于角色的授权?
使用 JWT 处理 401(未授权)angularjs 身份验证