private void Test_UserLocking_Valid(AccountStatus accountStatus)
        {
            IMembershipSettings membershipSettings = Workmate.Components.InstanceContainer.MembershipSettings;

            membershipSettings.MaxInvalidPasswordAttempts = 3;

            IApplicationSettings applicationSettings = Workmate.Components.InstanceContainer.ApplicationSettings;

            WorkmateRoleProvider       roleProvider       = new WorkmateRoleProvider();
            WorkmateMembershipProvider membershipProvider = new WorkmateMembershipProvider();

            string password = "******";

            IUserBasic userBasic = CreateUser(applicationSettings, this.Application, this.DummyDataManager, roleProvider, membershipProvider, password, accountStatus);

            IUserBasic         validatedUser;
            ValidateUserStatus validateUserStatus;

            for (int i = 0; i < membershipSettings.MaxInvalidPasswordAttempts; i++)
            {
                validateUserStatus = membershipProvider.ValidateUser(this.Application.ApplicationId, userBasic.UserName, "465", out validatedUser);
                Assert.AreEqual(ValidateUserStatus.WrongPassword, validateUserStatus);
            }
            // by the next attempt we expect the user to be locked
            validateUserStatus = membershipProvider.ValidateUser(this.Application.ApplicationId, userBasic.UserName, "123", out validatedUser);
            Assert.AreEqual(ValidateUserStatus.UserIsLockedOut, validateUserStatus);

            // test unlock
            Assert.IsTrue(membershipProvider.UnlockUser(userBasic.UserId));
            userBasic = membershipProvider.GetUserBasic(userBasic.UserId, false);
            Assert.AreEqual(accountStatus, userBasic.AccountStatus);
        }
예제 #2
0
 public static void Initialize(IDataStore dataStore, IApplicationSettings applicationSettings
                               , IMembershipSettings membershipSettings)
 {
     _ApplicationSettings = applicationSettings;
     _DataStore           = dataStore;
     _MembershipSettings  = membershipSettings;
 }
예제 #3
0
 public WorkmateRoleProvider()
     : this(InstanceContainer.MembershipSettings, InstanceContainer.ApplicationSettings, InstanceContainer.DataStore)
 {
     this._MembershipSettings  = InstanceContainer.MembershipSettings;
     this._ApplicationSettings = InstanceContainer.ApplicationSettings;
     this._DataStore           = InstanceContainer.DataStore;
 }
예제 #4
0
 /// <summary>
 /// Initializes a new instance of the <see cref="AccountController"/> class.
 /// </summary>
 /// <param name="userService">The user service.</param>
 /// <param name="authenticationService">The authentication service.</param>
 /// <param name="messageBus">The message bus.</param>
 /// <param name="membershipSettings"></param>
 public AccountController(IUserAccountService userService, IAuthenticationService authenticationService, IMessageBus messageBus, IMembershipSettings membershipSettings)
 {
     _membershipSettings    = membershipSettings;
     _messageBus            = messageBus;
     _userService           = userService;
     _authenticationService = authenticationService;
 }
예제 #5
0
        public UserAdministrationController(
            IMembershipSettings membershipSettings,
            IUserService userService,
            IPasswordService passwordService,
            IRolesService rolesService,
            ISmtpClient smtpClient, IMembershipService service, IFormsAuthentication formsAuth,
            IMEmployeeRepository mEmployeeRepository,
            IMMenuRepository mMenuRepository,
            ITPrivilegeRepository tPrivilegeRepository)
        {
            _membershipSettings = membershipSettings;
            _userService        = userService;
            _passwordService    = passwordService;
            _rolesService       = rolesService;
            _smtpClient         = smtpClient;
            FormsAuth           = formsAuth ?? new FormsAuthenticationService();
            MembershipService   = service ?? new AccountMembershipService();


            Check.Require(mEmployeeRepository != null, "mEmployeeRepository may not be null");
            Check.Require(mMenuRepository != null, "mMenuRepository may not be null");
            Check.Require(tPrivilegeRepository != null, "tPrivilegeRepository may not be null");

            this._mEmployeeRepository  = mEmployeeRepository;
            this._mMenuRepository      = mMenuRepository;
            this._tPrivilegeRepository = tPrivilegeRepository;
        }
예제 #6
0
 /// <summary>
 /// Initializes a new instance of the <see cref="AccountController"/> class.
 /// </summary>
 /// <param name="userService">The user service.</param>
 /// <param name="authenticationService">The authentication service.</param>
 /// <param name="messageBus">The message bus.</param>
 /// <param name="membershipSettings"></param>
 public AccountController(IUserAccountService userService, IAuthenticationService authenticationService, IMessageBus messageBus, IMembershipSettings membershipSettings)
 {
     _membershipSettings = membershipSettings;
     _messageBus = messageBus;
     _userService = userService;
     _authenticationService = authenticationService;
 }
        public void Test_ResetPassword()
        {
            IMembershipSettings  membershipSettings  = Workmate.Components.InstanceContainer.MembershipSettings;
            IApplicationSettings applicationSettings = Workmate.Components.InstanceContainer.ApplicationSettings;

            WorkmateRoleProvider       roleProvider       = new WorkmateRoleProvider();
            WorkmateMembershipProvider membershipProvider = new WorkmateMembershipProvider();

            string password    = "******";
            string newPassword = "******";

            IUserBasic userBasic = CreateUser(applicationSettings, this.Application, this.DummyDataManager, roleProvider, membershipProvider, password, AccountStatus.Valid);

            IUserBasic         validatedUserBasic;
            ValidateUserStatus validateUserStatus = membershipProvider.ValidateUser(this.Application.ApplicationId, userBasic.Email, password, out validatedUserBasic);

            Assert.AreEqual(ValidateUserStatus.Valid, validateUserStatus);

            ChangePasswordStatus changePasswordStatus = membershipProvider.ResetPassword(this.Application.ApplicationId, userBasic, newPassword);

            Assert.AreEqual(ChangePasswordStatus.Success, changePasswordStatus);

            validateUserStatus = membershipProvider.ValidateUser(this.Application.ApplicationId, userBasic.Email, newPassword, out validatedUserBasic);
            Assert.AreEqual(ValidateUserStatus.Valid, validateUserStatus);
        }
 private void SetMembershipSettings(UserRegistrationViewModel viewModel, IMembershipSettings memnerSetting)
 {
     viewModel.PasswordLength              = memnerSetting.GetMinimumPasswordLength();
     viewModel.LowercaseRequirement        = memnerSetting.GetPasswordLowercaseRequirement();
     viewModel.UppercaseRequirement        = memnerSetting.GetPasswordUppercaseRequirement();
     viewModel.SpecialCharacterRequirement = memnerSetting.GetPasswordSpecialRequirement();
     viewModel.NumberRequirement           = memnerSetting.GetPasswordNumberRequirement();
 }
        internal static IUserBasic CreateUser(IDataStore dataStore, IApplicationSettings applicationSettings, IApplication application, DummyDataManager dummyDataManager)
        {
            IMembershipSettings membershipSettings = InstanceContainer.MembershipSettings;

            WorkmateRoleProvider       roleProvider       = new WorkmateRoleProvider();
            WorkmateMembershipProvider membershipProvider = new WorkmateMembershipProvider();

            return(CreateUser(applicationSettings, application, dummyDataManager, roleProvider, membershipProvider, "password", AccountStatus.Valid));
        }
예제 #10
0
 public UserAdministrationController(
     IMembershipSettings membershipSettings,
     IUserService userService,
     IPasswordService passwordService,
     IRolesService rolesService)
 {
     _membershipSettings = membershipSettings;
     _userService        = userService;
     _passwordService    = passwordService;
     _rolesService       = rolesService;
 }
 public AccountController(
     IMembershipSettings membershipSettings,
     IUserService userService,
     IPasswordService passwordService,
     IRolesService rolesService,
     ISmtpClient smtpClient)
 {
     _membershipSettings = membershipSettings;
     _userService        = userService;
     _passwordService    = passwordService;
     _rolesService       = rolesService;
     _smtpClient         = smtpClient;
 }
        public UserAdministrationController(
			IMembershipSettings membershipSettings,
			IUserService userService,
			IPasswordService passwordService,
			IRolesService rolesService,
			ISmtpClient smtpClient)
        {
            _membershipSettings = membershipSettings;
            _userService = userService;
            _passwordService = passwordService;
            _rolesService = rolesService;
            _smtpClient = smtpClient;
        }
예제 #13
0
 public UserAdministrationController(
     IMembershipSettings membershipSettings,
     IUserService userService,
     IPasswordService passwordService,
     IRolesService rolesService,
     ISmtpClient smtpClient, IMembershipService service, IFormsAuthentication formsAuth)
 {
     _membershipSettings = membershipSettings;
     _userService        = userService;
     _passwordService    = passwordService;
     _rolesService       = rolesService;
     _smtpClient         = smtpClient;
     FormsAuth           = formsAuth ?? new FormsAuthenticationService();
     MembershipService   = service ?? new AccountMembershipService();
 }
예제 #14
0
        public UserAccountService(
            IUserRepository userAccountRepository,
            INotificationService notificationService,
            IPasswordPolicy passwordPolicy,
            IMembershipSettings settings,
            IUnitOfWork unitOfWork)
        {
            _settings = settings;
            _unitOfWork = unitOfWork;
            if (userAccountRepository == null) throw new ArgumentNullException("userAccountRepository");

            this.userRepository = userAccountRepository;
            this.notificationService = notificationService;
            this.passwordPolicy = passwordPolicy;
        }
예제 #15
0
        public UserAccountService(
            IUserRepository userAccountRepository,
            INotificationService notificationService,
            IPasswordPolicy passwordPolicy,
            IMembershipSettings settings,
            IUnitOfWork unitOfWork)
        {
            _settings   = settings;
            _unitOfWork = unitOfWork;
            if (userAccountRepository == null)
            {
                throw new ArgumentNullException("userAccountRepository");
            }

            this.userRepository      = userAccountRepository;
            this.notificationService = notificationService;
            this.passwordPolicy      = passwordPolicy;
        }
        public void Test_ChangeEmail()
        {
            IMembershipSettings  membershipSettings  = Workmate.Components.InstanceContainer.MembershipSettings;
            IApplicationSettings applicationSettings = Workmate.Components.InstanceContainer.ApplicationSettings;

            WorkmateRoleProvider       roleProvider       = new WorkmateRoleProvider();
            WorkmateMembershipProvider membershipProvider = new WorkmateMembershipProvider();

            string password = "******";

            IUserBasic userBasic = CreateUser(applicationSettings, this.Application, this.DummyDataManager, roleProvider, membershipProvider, password, AccountStatus.Valid);

            userBasic = membershipProvider.GetUserBasicByUserName(this.Application.ApplicationId, userBasic.UserName, false);
            Assert.IsNotNull(userBasic);

            DummyUser dummy = this.DummyDataManager.GetDummy();

            Assert.AreNotEqual(userBasic.Email, dummy.Email);
            membershipProvider.ChangeEmail(userBasic, dummy.Email);
            Assert.AreEqual(userBasic.Email, dummy.Email);
            userBasic = membershipProvider.GetUserBasicByEmail(this.Application.ApplicationId, userBasic.Email, false);
            Assert.AreEqual(userBasic.Email, dummy.Email);
        }
        private UserRegistrationViewModel CreateRegisterShape(UserRegistrationViewModel viewModel, IMembershipSettings membershipSettings)
        {
            UserRegistrationViewModel shape = shapeFactory.RegisterUser(typeof(UserRegistrationViewModel));

            SetViewModelValue(viewModel, shape);
            SetMembershipSettings(shape, membershipSettings);
            return(shape);
        }
예제 #18
0
 public MembershipPasswordGenerator(IMembershipSettings membershipSettings)
 {
     this.membershipSettings = membershipSettings;
 }
예제 #19
0
 public static int GetMinimumPasswordLength(this IMembershipSettings membershipSettings)
 {
     return(membershipSettings.EnableCustomPasswordPolicy ? membershipSettings.MinimumPasswordLength : 7);
 }
 public ResetPasswordViewModel(IMembershipSettings membershipSettings)
 {
     this.membershipSettings = membershipSettings;
     IsManualPasswordEntry   = true;
 }
 public CustomMembershipProvider()
 {
     IEntitiesModel entitiesModel = IoCManager.Container().Resolve<IEntitiesModel>();
     UserRepository = IoCManager.Container().Resolve<IUserRepository>(entitiesModel);
     MembershipSettings = IoCManager.Container().Resolve<IMembershipSettings>();
 }
 public CustomMembershipProvider(IUserRepository userRepository, IMembershipSettings membershipSettings)
 {
     UserRepository = userRepository;
     MembershipSettings = membershipSettings;
 }
예제 #23
0
 static User()
 {
     settings = DependencyResolver.Current.GetService<IMembershipSettings>();
 }
예제 #24
0
 internal WorkmateRoleProvider(IMembershipSettings membershipSettings, IApplicationSettings applicationSettings, IDataStore dataStore)
 {
     this._MembershipSettings  = membershipSettings;
     this._ApplicationSettings = applicationSettings;
     this._DataStore           = dataStore;
 }
예제 #25
0
 public CreateUserModel(IMembershipSettings membershipSettings)
 {
     this.membershipSettings = membershipSettings;
     IsManualPasswordEntry   = true;
 }