예제 #1
0
        public void Setup()
        {
            roles     = new RoleResolverService(
                users = new UserService(userSource = new DictionaryUserSource {
                IsDefault = true
            }),
                new RoleResolver {
                Users = users
            });
            updateChecker = new UpdateUserChecker {
                Roles = roles, Users = users
            };

            users.Store(new User {
                Login = ROLE_ADMIN, Roles = new[] { ROLE_ADMIN }, IsAdmin = true
            }.Activate());
            users.Store(new User {
                Login = ROLE_GUEST, Roles = new[] { ROLE_GUEST }
            }.Activate());
            users.Store(new User {
                Login = ROLE_USER, Roles = new[] { ROLE_USER }
            }.Activate());
            users.Store(new User {
                Login = ROLE_SECURITY_ADMIN, Roles = new[] { ROLE_SECURITY_ADMIN }
            }.Activate());
            users.Store(new User {
                Login = ROLE_DOMAIN_ADMIN, Roles = new[] { ROLE_DOMAIN_ADMIN }, Domain = ROLE_DOMAIN_ADMIN
            }.Activate());
        }
예제 #2
0
 /// <summary>
 /// Create instance
 /// </summary>
 /// <param name="MsgHub"></param>
 /// <param name="RoleService"></param>
 /// <param name="InputModuleFactory"></param>
 public OperatorInputProcessorService(
     IMessageHub MsgHub,
     IRoleResolverService RoleService,
     IOperatorModuleFactory <IOperatorInputModule> InputModuleFactory)
     : base(MsgHub, MaxThreadCount: 1)
 {
     _roleService        = RoleService;
     _inputModuleFactory = InputModuleFactory;
     RegisterMessageProcessor <OperatorInputMsg>(OperatorInputProcessor);
 }
예제 #3
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="users"></param>
 /// <param name="roles"></param>
 /// <param name="updater"></param>
 /// <param name="manager"></param>
 public ClientService(IUserService users, IRoleResolverService roles = null, IUpdateUserProcessor updater = null, IPasswordManager manager = null)
 {
     Users           = users;
     Roles           = roles ?? (new RoleResolverService(users, new RoleResolver {
         Users = users
     }));
     Updater         = updater ?? (new UpdateUserProcessor {
         Users = users, Roles = Roles
     });
     PasswordManager = manager ?? new PasswordManager();
 }
예제 #4
0
        public ControllerExecService(
            IArdNetClient ArdClient,
            IRoleResolverService RoleService,
            IOperatorInputProcessorService OpInputService)
        {
            if (ArdClient is null)
            {
                throw new ArgumentNullException(nameof(ArdClient));
            }

            _ardClient      = ArdClient;
            _roleService    = RoleService;
            _opInputService = OpInputService;
        }
예제 #5
0
        public static bool IsInRole(this IRoleResolverService service, string login, string role,
                                    bool exact = false)
        {
            var srv = service as RoleResolverService;
            var us  = srv.Users.GetUser(login);

            if (null == us)
            {
                return(false);
            }
            var id = new Identity {
                Name            = us.Name,
                IsAuthenticated = true,
                IsAdmin         = us.IsAdmin,
                User            = us
            };

            return(service.IsInRole(id, role, exact));
        }
예제 #6
0
 public static bool IsInRole(this IRoleResolverService service, IPrincipal principal, string role,
                             bool exact = false)
 {
     return(service.IsInRole(principal.Identity, role, exact));
 }
예제 #7
0
 /// <summary>
 /// Оболочка проверки роли текущего пользователя
 /// </summary>
 /// <param name="resolver"></param>
 /// <param name="role"></param>
 /// <param name="adminanyrole"></param>
 /// <returns></returns>
 public static bool IsInRole(this IRoleResolverService resolver, string role, bool adminanyrole = true)
 {
     return(resolver.IsInRole(getCurrent().Identity, role, adminanyrole));
 }
예제 #8
0
 /// <summary>
 /// Признак административной учетной записи
 /// </summary>
 /// <param name="resolver"></param>
 /// <param name="user"> </param>
 /// <returns></returns>
 public static bool IsAdmin(this IRoleResolverService resolver, IPrincipal user)
 {
     return(resolver.IsInRole(user.Identity, SecurityConst.ROLE_ADMIN));
 }
예제 #9
0
 /// <summary>
 /// Признак административной учетной записи текущего пользователя
 /// </summary>
 /// <param name="resolver"></param>
 /// <returns></returns>
 public static bool IsAdmin(this IRoleResolverService resolver)
 {
     return(IsAdmin(resolver, getCurrent()));
 }
예제 #10
0
 /// <summary>
 /// </summary>
 /// <param name="resolver"> </param>
 /// <param name="principal"> </param>
 /// <param name="customcontext"> </param>
 public RoleResolverTermAdapter(IRoleResolverService resolver, IPrincipal principal, string customcontext)
 {
     _resolver      = resolver;
     _principal     = principal;
     _customcontext = customcontext;
 }