Пример #1
0
 public AccessService(IPermissionResolverService permissionResolverService, UserService userService, IGroupStore groupStore, ILogger logger)
 {
     _permissionResolverService = permissionResolverService ?? throw new ArgumentNullException(nameof(permissionResolverService));
     _userService = userService ?? throw new ArgumentNullException(nameof(userService));
     _groupStore  = groupStore ?? throw new ArgumentNullException(nameof(groupStore));
     _logger      = logger ?? throw new ArgumentNullException(nameof(logger));
 }
        public UsersModule(
            ClientService clientService,
            PermissionService permissionService,
            UserService userService,
            GrainService grainService,
            IPermissionResolverService permissionResolverService,
            UserValidator validator,
            AccessService accessService,
            ILogger logger) : base("/v1/user", logger, validator, accessService)
        {
            _permissionService         = permissionService ?? throw new ArgumentNullException(nameof(permissionService));
            _clientService             = clientService ?? throw new ArgumentNullException(nameof(clientService));
            _userService               = userService ?? throw new ArgumentNullException(nameof(userService));
            _grainService              = grainService ?? throw new ArgumentNullException(nameof(grainService));
            _permissionResolverService = permissionResolverService ?? throw new ArgumentNullException(nameof(permissionResolverService));

            // Get all the permissions for a user
            Get("/permissions",
                async _ => await GetCurrentUserPermissions().ConfigureAwait(false), null,
                "GetCurrentUserPermissions");

            Get("/{identityProvider}/{subjectId}",
                async param => await GetUser(param).ConfigureAwait(false), null,
                "GetUser");

            Post("/",
                 async _ => await AddUser().ConfigureAwait(false), null,
                 "AddUser");

            Get("/{identityProvider}/{subjectId}/permissions",
                async param => await this.GetUserPermissions(param).ConfigureAwait(false), null,
                "GetUserPermissions");

            Post("/{identityProvider}/{subjectId}/permissions",
                 async param => await this.AddGranularPermissions(param).ConfigureAwait(false), null,
                 "AddGranularPermissions");

            Delete("/{identityProvider}/{subjectId}/permissions",
                   async param => await this.DeleteGranularPermissions(param).ConfigureAwait(false), null,
                   "DeleteGranularPermissions");

            Get("/{identityProvider}/{subjectId}/groups",
                async _ => await GetUserGroups().ConfigureAwait(false), null,
                "GetUserGroups");

            Get("/{identityProvider}/{subjectId}/roles",
                async _ => await GetUserRoles().ConfigureAwait(false), null,
                "GetUserRoles");

            Post("/{identityProvider}/{subjectId}/roles",
                 async param => await AddRolesToUser(param).ConfigureAwait(false), null,
                 "AddRolesToUser");

            Delete("/{identityProvider}/{subjectId}/roles",
                   async param => await DeleteRolesFromUser(param).ConfigureAwait(false), null,
                   "DeleteRolesFromUser");
        }