예제 #1
0
 public static string GetGroupId(this ClaimsPrincipal claimsPrincipal, IdentityUIClaimOptions identityUIClaimOptions)
 {
     return(claimsPrincipal.Claims
            .Where(x => x.Type == identityUIClaimOptions.GroupId)
            .Select(x => x.Value)
            .SingleOrDefault());
 }
예제 #2
0
 public HttpContextUserInfoService(
     IHttpContextAccessor httpContextAccessor,
     IOptions <IdentityUIClaimOptions> identityUIClaimOptions)
 {
     _httpContextAccessor    = httpContextAccessor;
     _identityUIClaimOptions = identityUIClaimOptions.Value;
 }
예제 #3
0
        public GroupUserStore(
            IBaseRepository <GroupUserEntity> groupUserRepository,
            IBaseRepository <RoleEntity> roleRepository,
            IBaseRepository <RoleAssignmentEntity> roleAssignmentRepository,
            IBaseDAO <GroupUserEntity> groupUserDAO,
            IBaseDAO <RoleAssignmentEntity> roleAssignmentDAO,
            IBaseDAO <RoleEntity> roleDAO,
            IOptions <IdentityUIClaimOptions> identityUIClaimOptions,
            IIdentityUIUserInfoService identityUIUserInfoService,
            ILogger <GroupUserStore> logger)
        {
            _groupUserRepository      = groupUserRepository;
            _roleRepository           = roleRepository;
            _roleAssignmentRepository = roleAssignmentRepository;

            _groupUserDAO      = groupUserDAO;
            _roleAssignmentDAO = roleAssignmentDAO;
            _roleDAO           = roleDAO;

            _identityUIClaimOptions = identityUIClaimOptions.Value;

            _identityUIUserInfoService = identityUIUserInfoService;

            _logger = logger;
        }
예제 #4
0
 public InviteController(
     IGroupInviteDataService groupInviteDataService,
     IInviteService inviteService,
     IOptions <IdentityUIClaimOptions> identityUIClaimOptions)
 {
     _groupInviteDataService = groupInviteDataService;
     _inviteService          = inviteService;
     _identityUIClaimOptions = identityUIClaimOptions.Value;
 }
예제 #5
0
        public IdentityUIAuditSubjectService(
            IHttpContextAccessor httpContextAccessor,
            IIdentityUIUserInfoService identityUIUserInfoService,
            IOptions <AuditOptions> auditOptions,
            IOptions <IdentityUIClaimOptions> identityUIClaimOptions) : base(httpContextAccessor, auditOptions)
        {
            _identityUIUserInfoService = identityUIUserInfoService;

            _identityUIClaimOptions = identityUIClaimOptions.Value;
        }
예제 #6
0
 public CustomClaimsPrincipalFactory(
     UserManager <AppUserEntity> userManager,
     RoleManager <RoleEntity> roleManager,
     IOptions <IdentityOptions> identityOptions,
     IOptions <IdentityUIClaimOptions> identityUIClaimOptions,
     IBaseRepositoryAsync <AppUserEntity> userRepository,
     ILogger <CustomClaimsPrincipalFactory> logger) : base(userManager, roleManager, identityOptions)
 {
     _logger = logger;
     _identityUIClaimOptions = identityUIClaimOptions.Value;
     _userRepository         = userRepository;
 }
        public CustomSecurityStampValidator(
            IOptions <SecurityStampValidatorOptions> options,
            SignInManager <AppUserEntity> signInManager,
            ISystemClock clock,
            ILoggerFactory logger,
            ISessionService sessionService,
            IOptions <IdentityUIClaimOptions> identityUIClaimOptions)
            : base(options, signInManager, clock, logger)
        {
            _sessionService         = sessionService;
            _identityUIClaimOptions = identityUIClaimOptions.Value;

            _logger = logger.CreateLogger <CustomSecurityStampValidator>();
        }
예제 #8
0
        public UserController(
            IGroupUserDataService groupUserDataService,
            IGroupUserService groupUserService,
            IManageUserService manageUserService,
            IImpersonateService impersonateService,
            IGroupAdminUserDataService groupAdminUserDataService,
            IOptions <IdentityUIClaimOptions> identityUICalimOptions,
            IOptions <IdentityUIEndpoints> identityUIEndpoints)
        {
            _groupUserDataService = groupUserDataService;
            _groupUserService     = groupUserService;

            _manageUserService  = manageUserService;
            _impersonateService = impersonateService;

            _groupAdminUserDataService = groupAdminUserDataService;

            _identityUIClaimOptions = identityUICalimOptions.Value;
            _identityUIEndpoints    = identityUIEndpoints.Value;
        }
예제 #9
0
        public static bool HasGroupPermissionOrImpersonatorHasPermission(
            this ClaimsPrincipal claimsPrincipal,
            string permission,
            IdentityUIClaimOptions identityUIClaimOptions)
        {
            bool hasPermission = claimsPrincipal.HasGroupPermission(permission, identityUIClaimOptions);

            if (hasPermission)
            {
                return(true);
            }

            bool ImpersonatorHasPermission = claimsPrincipal.ImpersonatorHasGroupPermission(permission, identityUIClaimOptions);

            if (ImpersonatorHasPermission)
            {
                return(true);
            }

            return(false);
        }
예제 #10
0
 public static IEnumerable <string> GetRoles(this ClaimsPrincipal claimsPrincipal, IdentityUIClaimOptions identityUIClaimOptions)
 {
     return(claimsPrincipal.Claims
            .Where(x => x.Type == identityUIClaimOptions.Role)
            .Select(x => x.Value));
 }
예제 #11
0
 public static bool ImpersonatorHasPermission(this ClaimsPrincipal claimsPrincipal, string permission, IdentityUIClaimOptions identityUIClaimOptions)
 {
     return(claimsPrincipal.Claims
            .Where(x => x.Type == identityUIClaimOptions.ImpersonatorPermission)
            .Where(x => x.Value == permission)
            .Any());
 }
예제 #12
0
 public static bool IsImpersonized(this ClaimsPrincipal claimsPrincipal, IdentityUIClaimOptions identityUIClaimOptions)
 {
     return(claimsPrincipal.HasClaim(x => x.Type == identityUIClaimOptions.ImpersonatorId));
 }
예제 #13
0
 public static string GetSessionCode(this ClaimsPrincipal principal, IdentityUIClaimOptions identityUIClaimOptions)
 {
     return(principal.FindFirstValue(identityUIClaimOptions.SessionCode));
 }
예제 #14
0
        public static string GetImpersonatorId(this HttpContext context)
        {
            IdentityUIClaimOptions identityUIClaimOptions = context.RequestServices.GetRequiredService <IOptions <IdentityUIClaimOptions> >().Value;

            return(context.User.GetImpersonatorId(identityUIClaimOptions));
        }
예제 #15
0
 public static string GetUserId(this ClaimsPrincipal claimsPrincipal, IdentityUIClaimOptions identityUIClaimOptions)
 {
     return(claimsPrincipal.FindFirstValue(identityUIClaimOptions.UserId));
 }
예제 #16
0
 public static bool ImpersonatorHasRole(this ClaimsPrincipal claimsPrincipal, string role, IdentityUIClaimOptions identityUIClaimOptions)
 {
     return(claimsPrincipal.Claims
            .Where(x => x.Type == identityUIClaimOptions.ImpersonatorRole)
            .Where(x => x.Value == role)
            .Any());
 }
예제 #17
0
        public static bool HasGroupRole(this HttpContext context, string role)
        {
            IdentityUIClaimOptions identityUIClaimOptions = context.RequestServices.GetRequiredService <IOptions <IdentityUIClaimOptions> >().Value;

            return(context.User.HasGroupRole(role, identityUIClaimOptions));
        }
예제 #18
0
 public static bool HasGroupRole(this ClaimsPrincipal claimsPrincipal, string role, IdentityUIClaimOptions identityUIClaimOptions)
 {
     return(claimsPrincipal.Claims
            .Where(x => x.Type == identityUIClaimOptions.Role || x.Type == identityUIClaimOptions.GroupRole)
            .Where(x => x.Value == role)
            .Any());
 }
예제 #19
0
        public static IEnumerable <string> GetRoles(this HttpContext context)
        {
            IdentityUIClaimOptions identityUIClaimOptions = context.RequestServices.GetRequiredService <IOptions <IdentityUIClaimOptions> >().Value;

            return(context.User.GetRoles(identityUIClaimOptions));
        }
예제 #20
0
 public AuditController(IGroupAdminAuditDataService groupAdminAuditDataService, IOptions <IdentityUIClaimOptions> identityUIClaimOptions)
 {
     _groupAdminAuditDataService = groupAdminAuditDataService;
     _identityUIClaimOptions     = identityUIClaimOptions.Value;
 }
예제 #21
0
 public static bool HasGroupPermission(this ClaimsPrincipal claimsPrincipal, string permission, IdentityUIClaimOptions identityUIClaimOptions)
 {
     return(claimsPrincipal.Claims
            .Where(x => x.Type == identityUIClaimOptions.Permission || x.Type == identityUIClaimOptions.GroupPermission)
            .Where(x => x.Value == permission)
            .Any());
 }
예제 #22
0
        public static bool HasGroupPermissionOrImpersonatorHasPermission(this HttpContext context, string permission)
        {
            IdentityUIClaimOptions identityUIClaimOptions = context.RequestServices.GetRequiredService <IOptions <IdentityUIClaimOptions> >().Value;

            return(context.User.HasGroupPermissionOrImpersonatorHasPermission(permission, identityUIClaimOptions));
        }
예제 #23
0
 public static string GetImpersonatorUsername(this ClaimsPrincipal claimsPrincipal, IdentityUIClaimOptions identityUIClaimOptions)
 {
     return(claimsPrincipal.FindFirstValue(identityUIClaimOptions.ImpersonatorUsername));
 }