예제 #1
0
        public static MyUserManager Create(IdentityFactoryOptions <MyUserManager> options, IOwinContext context)
        {
#if DEBUG
            Debug.WriteLine("MyUserManager Create");
#endif

            var manager = new MyUserManager(new MyUserStore(context.Get <MyDbContext>()));

#if DEBUG
            if (manager != null)
            {
                Debug.WriteLine("manager is not null!");
            }
            else
            {
                Debug.WriteLine("manager is NOT null");
            }
#endif

            manager.PasswordValidator = new PasswordValidator
            {
                RequiredLength          = Convert.ToInt32(ConfigurationManager.AppSettings["RequiredLength"]),
                RequireNonLetterOrDigit = Convert.ToBoolean(ConfigurationManager.AppSettings["RequireNonLetterOrDigit"]),
                RequireDigit            = Convert.ToBoolean(ConfigurationManager.AppSettings["RequireDigit"]),
                RequireLowercase        = Convert.ToBoolean(ConfigurationManager.AppSettings["RequireLowercase"]),
                RequireUppercase        = Convert.ToBoolean(ConfigurationManager.AppSettings["RequireUppercase"])
            };

            // Если истино, учётка блокируется по умолчанию после созданаия
            manager.UserLockoutEnabledByDefault = Convert.ToBoolean(ConfigurationManager.AppSettings["UserLockoutEnabledByDefault"]);
            // Максимальное число попыток ввода пароля, после чего учётка блокируется
            manager.MaxFailedAccessAttemptsBeforeLockout = Convert.ToInt32(ConfigurationManager.AppSettings["MaxFailedAccessAttemptsBeforeLockout"]);
            // Количество времени в минутах, когда учётка остаётся блокированной
            manager.DefaultAccountLockoutTimeSpan = TimeSpan.FromMinutes(Convert.ToInt32(ConfigurationManager.AppSettings["DefaultAccountLockoutTimeSpan"]));
            // Признак будет ли блокирована учётка
            manager.LockoutEnabled = Convert.ToBoolean(ConfigurationManager.AppSettings["LockoutEnabled"]);
            // Максимальный период времени, после которого надо менять пароль
            manager.MaxPeriodForChangePassword = Convert.ToInt32(ConfigurationManager.AppSettings["MaxPeriodForChangePassword"]);
            // Максимальный период времени (в днях), когда учётка будет блокированной, если не было входа в систему
            manager.MaxPeriodSignin = Convert.ToInt32(ConfigurationManager.AppSettings["MaxPeriodSignin"]);
            //Проверка на использование старый паролей, при вводе нового пароля
            manager.CheckUsedPasswordEnabled =
                Convert.ToBoolean(ConfigurationManager.AppSettings["CheckUsedPasswordEnabled"]);
            // Глубина проверки старых паролей
            manager.MaxUsedPassword = Convert.ToInt32(ConfigurationManager.AppSettings["MaxUsedPassword"]);

            return(manager);
        }
예제 #2
0
 public MySignInManager(MyUserManager myUserManager, IAuthenticationManager authenticationManager)
     : base(myUserManager, authenticationManager)
 {
     this._myUserManager = myUserManager;
 }