コード例 #1
0
        protected override bool OnAuthorizeUser(string identifier, string password, HttpActionContext context)
        {
            if (!base.OnAuthorizeUser(identifier, password, context))
            {
                return(false);
            }

            bool withSimpleAdminAuth = ConfigurationManagerHelper.GetValue <bool>("WebApi.WithSimpleAdminAuth");

            if (withSimpleAdminAuth)
            {
                string adminIdentifier = ConfigurationManagerHelper.GetValue <string>("WebApi.AdminIdentifier");
                string adminPassword   = ConfigurationManagerHelper.GetValue <string>("WebApi.AdminPassword");

                if (identifier == adminIdentifier && password == adminPassword)
                {
                    return(true);
                }
            }

            // Authentication from database (the user must be registered in the database and have 'Admin' role).

            var user = new CustomUserValidator().GetUserWithRoles(identifier, password);

            return(user != null && user.UserRoleCollection.Select(ur => ur.Role).Any(r => r.CodeRef == Role.CodeRefs.Admin));
        }
コード例 #2
0
        private void CreateApplicationUserManager()
        {
            ClaimsIdentityFactory = new CustomClaimsIdentityFactory();

            UserValidator = new CustomUserValidator <User, long>(this)
            {
                AllowOnlyAlphanumericUserNames = false,
                RequireUniqueEmail             = true
            };

            PasswordValidator = new CustomPasswordValidator
            {
                RequiredLength          = 5,
                RequireNonLetterOrDigit = false,
                RequireDigit            = false,
                RequireLowercase        = false,
                RequireUppercase        = false
            };

            UserLockoutEnabledByDefault          = true;
            DefaultAccountLockoutTimeSpan        = TimeSpan.FromMinutes(5);
            MaxFailedAccessAttemptsBeforeLockout = 5;

            if (_dataProtectionProvider == null)
            {
                return;
            }

            var dataProtector = _dataProtectionProvider.Create("Asp.net Identity");

            UserTokenProvider = new DataProtectorTokenProvider <User, long>(dataProtector);
        }
コード例 #3
0
        public ApplicationUserManager(IUserStore <ApplicationUser> store)
            : base(store)
        {
            UserValidator     = new CustomUserValidator(this);
            PasswordValidator = new CustomPasswordValidator(4);

            UserLockoutEnabledByDefault          = true;
            DefaultAccountLockoutTimeSpan        = TimeSpan.FromMinutes(5);
            MaxFailedAccessAttemptsBeforeLockout = 5;

            EmailService = new EmailService();
        }
コード例 #4
0
        private void CreateApplicationUserManager()
        {
            ClaimsIdentityFactory = new CustomClaimsIdentityFactory();

            UserValidator = new CustomUserValidator <User, long>(this)
            {
                AllowOnlyAlphanumericUserNames = false,
                RequireUniqueEmail             = true
            };

            PasswordValidator = new CustomPasswordValidator
            {
                RequiredLength          = 5,
                RequireNonLetterOrDigit = false,
                RequireDigit            = false,
                RequireLowercase        = false,
                RequireUppercase        = false
            };

            UserLockoutEnabledByDefault          = true;
            DefaultAccountLockoutTimeSpan        = TimeSpan.FromMinutes(5);
            MaxFailedAccessAttemptsBeforeLockout = 5;

            //RegisterTwoFactorProvider("PhoneCode", new PhoneNumberTokenProvider<ApplicationUser, int>
            //{
            //    MessageFormat = "کد فعال سازی شما {0} است"
            //});
            //RegisterTwoFactorProvider("EmailCode", new EmailTokenProvider<ApplicationUser, int>
            //{
            //    Subject = "کد فعال سازی",
            //    BodyFormat = "کد فعال سازی شما {0} است"
            //});


            if (_dataProtectionProvider == null)
            {
                return;
            }

            var dataProtector = _dataProtectionProvider.Create("Asp.net Identity");

            UserTokenProvider = new DataProtectorTokenProvider <User, long>(dataProtector);
        }