Javascript AngularJS和Grails中基于角色的用户身份验证

Javascript AngularJS和Grails中基于角色的用户身份验证,javascript,angularjs,grails,Javascript,Angularjs,Grails,我正在开发一个应用程序,它的后端是Grails,前端是AngularJS 谁能推荐最好的架构师/设计来实现基于角色的用户身份验证。例如,学生用户应该能够看到某些页面上的特定页面和内容区域,教师应该看到一些其他内容,但管理员应该能够看到所有页面和内容 如图所示,在一个页面中,一个模块仅限教师,另一个模块仅限管理员,一个模块供所有人使用 提前感谢。简而言之,您可以使用$routeProvider的resolve属性,如下所示: module.config(["$routeProvider", "A

我正在开发一个应用程序,它的后端是Grails,前端是AngularJS

谁能推荐最好的架构师/设计来实现基于角色的用户身份验证。例如,学生用户应该能够看到某些页面上的特定页面和内容区域,教师应该看到一些其他内容,但管理员应该能够看到所有页面和内容

如图所示,在一个页面中,一个模块仅限教师,另一个模块仅限管理员,一个模块供所有人使用


提前感谢。

简而言之,您可以使用
$routeProvider
resolve
属性,如下所示:

module.config(["$routeProvider", "AuthorizationsService",
  function($routeProvider, AuthorizationsService) {
    $routeProvider
    .when("/home", {
      templateUrl: '/home.html',
      controller: 'homeController',
      resolve: {
        access: // call a authorization service
      }
    })
    .when("/student", {
      templateUrl: '/admin.html',
      controller: 'adminController',
      resolve: {
        access: // call a authorization service
      }
    })
    .otherwise({
      redirectTo: "/home"
    });
您需要创建一个工厂来解析或拒绝用户(这将完成所有繁重的工作)

这有更广泛的解释。
您可能也会发现这很有用

您可以使用Spring Security Core和Spring Security Rest,通过使用Angular JS的Ajax调用进行身份验证

我们在一些项目的生产中使用这种方法:它正在工作。对我来说,这是最好的选择:)你有它的编码示例吗?
module.factory("AuthorizationsService", ["$q",
  function($q) {

   var checkPermission = function {
     // check and set the permissions from http service
     // return a promise
   };

   return {
     checkPermission: checkPermission
   }
}]);