使用AngularJS进行授权

时间:2017-08-15 12:58:13

标签: javascript angularjs spring-mvc authorization user-roles

我们有一个使用AngularJS(1.6)的单页面应用程序和一个运行JAVA Spring MVC的服务器端。在进行身份验证之后,服务器会为index.htm文件提供一个包含所有应用程序模块的主JS文件。

现在需要为某些用户角色提供一些模块。实现这一目标的可接受方式是什么?

我在考虑在服务器端创建一个过滤器以捕获对该JS文件的请求,并根据用户角色,从JS文件中删除用户不应该看到的模块。

这似乎不是一个优雅的解决方案,我想知道是否有更好的方法来实现这一点。

谢谢!

2 个答案:

答案 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,并实施路由器的授权