public UpdateInfoCommandValidator(IdRangeValidator idValidator , UserNameValidator userNameValidator) { RuleFor(v => v.AvatarPhotoId) .SetValidator(idValidator); RuleFor(v => v.UserName) .SetValidator(userNameValidator); }
public void ItRespectsMinAndMaxUserLengthFromConfiguration() { Configuration.Settings.UserNamePolicy.MinLength = 10; Configuration.Settings.UserNamePolicy.MaxLength = 13; Assert.IsTrue(UserNameValidator.IsValidUserName("1234567890123"), "Allow 13 characters for user name"); Assert.IsTrue(UserNameValidator.IsValidUserName("1234567890"), "Allow 10 characters for user name"); Assert.IsFalse(UserNameValidator.IsValidUserName("123456789"), "Disallow <10 characters for user name"); Assert.IsFalse(UserNameValidator.IsValidUserName("12345678901234"), "Disallow >13 characters for user name"); }
public void ItAcceptsValidUserNames() { Assert.IsTrue(UserNameValidator.IsValidUserName("a")); Assert.IsTrue(UserNameValidator.IsValidUserName("A")); Assert.IsTrue(UserNameValidator.IsValidUserName("bente_bent")); Assert.IsTrue(UserNameValidator.IsValidUserName("0")); Assert.IsTrue(UserNameValidator.IsValidUserName("0233")); Assert.IsTrue(UserNameValidator.IsValidUserName("abcde123450123456789"), "Allow 20 characters for user name"); }
public CreateAccountCommandValidator(UserNameValidator userNameValidator , EmailValidator emailValidator , IStringLocalizer <AccountsResource> accountLocalizer) { RuleFor(v => v.Email) .SetValidator(emailValidator); RuleFor(v => v.Username) .SetValidator(userNameValidator); RuleFor(v => v.Password) .Must(p => !string.IsNullOrWhiteSpace(p)) .WithMessage(accountLocalizer["EnterPassword"]); }
public void ItRejectsInvalidUserNames() { Assert.IsFalse(UserNameValidator.IsValidUserName(null)); Assert.IsFalse(UserNameValidator.IsValidUserName("")); Assert.IsFalse(UserNameValidator.IsValidUserName(" ")); Assert.IsFalse(UserNameValidator.IsValidUserName("*")); Assert.IsFalse(UserNameValidator.IsValidUserName("aaa*aaa")); Assert.IsFalse(UserNameValidator.IsValidUserName("bb/lkj")); Assert.IsFalse(UserNameValidator.IsValidUserName("q+u")); Assert.IsFalse(UserNameValidator.IsValidUserName("app")); Assert.IsFalse(UserNameValidator.IsValidUserName("api")); Assert.IsFalse(UserNameValidator.IsValidUserName("css")); Assert.IsFalse(UserNameValidator.IsValidUserName("-"), "Must begin with letter or digit"); Assert.IsFalse(UserNameValidator.IsValidUserName("."), "Must begin with letter or digit"); Assert.IsFalse(UserNameValidator.IsValidUserName("_"), "Must begin with letter or digit"); Assert.IsFalse(UserNameValidator.IsValidUserName("abcde123450123456789x"), "user name too long (max. 20 chars)"); }
private void ValidateUser(IUser user) { if (user == null) { throw new ArgumentNullException("user"); } if (string.IsNullOrWhiteSpace(user.UserName)) { throw new ArgumentException("User name is required.", "user"); } string error; if (!UserNameValidator.Validate(user.UserName, out error)) { throw new IdentityException(error); } }
public async Task <LoginResponse> LoginUsingPassword(LoginRequest loginRequest, string issuer) { if (!UserNameValidator.Validate(loginRequest.userName).IsValid) { throw new UnauthorizedException("Username not valid !!"); } var userId = GetUserIdIfLoginValid(loginRequest); var role = GetUserRole(userId); if (userId == -1 || role == null) { return(null); } var loginResponse = await CreateLoginResponse(userId.ToString(), loginRequest.userName, (Role)role, userId.ToString(), loginRequest.ConsumerKey, issuer); return(loginResponse); }
public void ItRejectsInvalidUserNamesInDictionaryFile() { Assert.IsFalse(UserNameValidator.IsValidUserName("admin")); Assert.IsFalse(UserNameValidator.IsValidUserName("administrator")); }
protected async override Task OnMessageActivityAsync(ITurnContext <IMessageActivity> turnContext, CancellationToken cancellationToken) { await base.OnMessageActivityAsync(turnContext, cancellationToken); var conversationStateAccessors = _conversationState.CreateProperty <PasswordResetConversationState>(nameof(PasswordResetConversationState)); var conversationData = await conversationStateAccessors.GetAsync(turnContext, () => new PasswordResetConversationState()); var userStateAccessors = _userState.CreateProperty <PasswordResetRequest>(nameof(PasswordResetRequest)); var userProfile = await userStateAccessors.GetAsync(turnContext, () => new PasswordResetRequest()); var inputText = turnContext.Activity.Text.Trim().ToLower(); switch (conversationData.CurrentState) { case Enums.PwdResetConversationStates.Initial: conversationData.CurrentState = PwdResetConversationStates.AskUserName; await turnContext.SendActivityAsync("Şifrenizi resetlemek için kullanıcı adınızı öğrenebilir miyim?"); break; case Enums.PwdResetConversationStates.AskUserName: if (UserNameValidator.Validate(inputText)) { userProfile.UserName = inputText; conversationData.CurrentState = PwdResetConversationStates.AskEmail; await turnContext.SendActivityAsync($"Teşekkürler {userProfile.UserName}, Şimdi mail adresini öğrenebilir miyim?"); } else { await turnContext.SendActivityAsync($"İsmini tekrar girebilir misin?"); } break; case Enums.PwdResetConversationStates.AskEmail: if (EmailValidator.Validate(inputText)) { userProfile.Email = inputText; conversationData.CurrentState = PwdResetConversationStates.AskApproval; await turnContext.SendActivityAsync($"Bilgilerini aldım. Teşekkür ederim. Şimdi onayına ihtiyacım var."); await turnContext.SendActivityAsync($"Kullanıcı adı :{userProfile.UserName}, email:{userProfile.Email}. Bu bilgiler ile şifreni resetlemek istediğinden emin misiniz?"); } else { await turnContext.SendActivityAsync($"{userProfile.UserName} emailini tekrar girebilir misin?"); } break; case Enums.PwdResetConversationStates.AskApproval: if (ApprovalValidator.Validate(inputText)) { if (ApprovalValidator.IsApprooved(inputText)) { conversationData.CurrentState = PwdResetConversationStates.Completed; await turnContext.SendActivityAsync($"Onayınızı aldım. En kısa zamanda şifreniz resetlenecektir."); } else { conversationData.CurrentState = PwdResetConversationStates.Cancelled; await turnContext.SendActivityAsync($"İşlem iptal edilmiştir."); } await turnContext.SendActivityAsync($"İyi çalışmalar."); } else { await turnContext.SendActivityAsync($"sizi anlayamadım."); await turnContext.SendActivityAsync($"Kullanıcı adı :{userProfile.UserName}, email:{userProfile.Email}. Bu bilgiler ile şifreni resetlemek istediğinden emin misiniz?"); } break; case Enums.PwdResetConversationStates.Cancelled: case Enums.PwdResetConversationStates.Completed: await turnContext.SendActivityAsync("Yeni bir işlem yapmak için lütfen hangi işlemi yapmak istediğinizi söyleyiniz."); conversationData.CurrentState = PwdResetConversationStates.Initial; List <string> supportedActions = new List <string>(); supportedActions.Add("Şifre Resetleme"); await turnContext.SendActivityAsync(MessageFactory.SuggestedActions(supportedActions)); break; default: break; } }
protected async override Task OnMessageActivityAsync(ITurnContext <IMessageActivity> turnContext, CancellationToken cancellationToken) { await base.OnMessageActivityAsync(turnContext, cancellationToken); var conversationStateAccessors = _conversationState.CreateProperty <PasswordResetConversationState>(nameof(PasswordResetConversationState)); var conversationData = await conversationStateAccessors.GetAsync(turnContext, () => new PasswordResetConversationState()); var userStateAccessors = _userState.CreateProperty <PasswordResetRequest>(nameof(PasswordResetRequest)); var userProfile = await userStateAccessors.GetAsync(turnContext, () => new PasswordResetRequest()); var inputText = turnContext.Activity.Text.Trim().ToLower(); switch (conversationData.CurrentState) { case Enums.PwdResetConversationStates.Initial: conversationData.CurrentState = PwdResetConversationStates.AskUserName; await turnContext.SendActivityAsync("Şifrenizi resetlemek için kullanıcı adınızı öğrenebilir miyim?"); break; case Enums.PwdResetConversationStates.AskUserName: if (UserNameValidator.Validate(inputText)) { userProfile.UserName = inputText; conversationData.CurrentState = PwdResetConversationStates.AskEmail; await turnContext.SendActivityAsync($"Teşekkürler {userProfile.UserName}, Şimdi mail adresini öğrenebilir miyim?"); } else { await turnContext.SendActivityAsync($"İsmini tekrar girebilir misin?"); } break; case Enums.PwdResetConversationStates.AskEmail: if (EmailValidator.Validate(inputText)) { userProfile.Email = inputText; conversationData.CurrentState = PwdResetConversationStates.AskApproval; await turnContext.SendActivityAsync($"Bilgilerini aldım. Teşekkür ederim. Şimdi onayına ihtiyacım var."); await turnContext.SendActivityAsync($"Kullanıcı adı :{userProfile.UserName}, email:{userProfile.Email}. Bu bilgiler ile şifreni resetlemek istediğinden emin misiniz?"); } else { await turnContext.SendActivityAsync($"{userProfile.UserName} emailini tekrar girebilir misin?"); } break; case Enums.PwdResetConversationStates.AskApproval: if (ApprovalValidator.Validate(inputText)) { if (ApprovalValidator.IsApprooved(inputText)) { conversationData.CurrentState = PwdResetConversationStates.Completed; //EXCEL BAŞLANGIÇ Excel.Application xlApp = new Microsoft.Office.Interop.Excel.Application(); Excel.Workbook xlWorkBook; Excel.Worksheet xlWorkSheet; object misValue = System.Reflection.Missing.Value; xlWorkBook = xlApp.Workbooks.Add(misValue); xlWorkSheet = (Excel.Worksheet)xlWorkBook.Worksheets.get_Item(1); xlWorkSheet.Cells[1, 1] = "Username"; xlWorkSheet.Cells[1, 2] = "Email"; xlWorkSheet.Cells[2, 1] = userProfile.UserName; xlWorkSheet.Cells[2, 2] = userProfile.Email; xlApp.DisplayAlerts = false; xlWorkBook.SaveAs("C:\\Users\\BaranOzsarac\\Documents\\" + userProfile.UserName + ".xlsx", Excel.XlFileFormat.xlOpenXMLWorkbook, misValue, misValue, misValue, misValue, Excel.XlSaveAsAccessMode.xlExclusive, misValue, misValue, misValue, misValue, misValue); xlWorkBook.Close(true, misValue, misValue); xlApp.Quit(); Marshal.ReleaseComObject(xlWorkSheet); Marshal.ReleaseComObject(xlWorkBook); Marshal.ReleaseComObject(xlApp); //EXCEL BİTİŞ await turnContext.SendActivityAsync($"Onayınızı aldım. En kısa zamanda şifreniz resetlenecektir."); } else { conversationData.CurrentState = PwdResetConversationStates.Cancelled; await turnContext.SendActivityAsync($"İşlem iptal edilmiştir."); } await turnContext.SendActivityAsync($"İyi çalışmalar."); } else { await turnContext.SendActivityAsync($"sizi anlayamadım."); await turnContext.SendActivityAsync($"Kullanıcı adı :{userProfile.UserName}, email:{userProfile.Email}. Bu bilgiler ile şifreni resetlemek istediğinden emin misiniz?"); } break; case Enums.PwdResetConversationStates.Cancelled: case Enums.PwdResetConversationStates.Completed: await turnContext.SendActivityAsync("Yeni bir işlem yapmak için lütfen hangi işlemi yapmak istediğinizi söyleyiniz."); conversationData.CurrentState = PwdResetConversationStates.Initial; List <string> supportedActions = new List <string>(); supportedActions.Add("Şifre Resetleme"); await turnContext.SendActivityAsync(MessageFactory.SuggestedActions(supportedActions)); break; default: break; } }
private async Task <UserPasswordInfo> GetInfoOperations(ITurnContext <IMessageActivity> turnContext, PwdResetConversationStates conversationState, UserPasswordInfo userState) { UserPasswordInfo userStateFromAdaptiveCard = JsonConvert.DeserializeObject <UserPasswordInfo>(turnContext.Activity.Value.ToString()); // Kullanıcı adı validasyonu if (!UserNameValidator.Validate(userStateFromAdaptiveCard.UserName)) { await turnContext.SendActivityAsync("Kullanıcı adınızı hatalı girdiniz. Lütfen bilgileri tekrar giriniz"); userStateFromAdaptiveCard.Counter++; if (userStateFromAdaptiveCard.Counter < 3) { Activity t = new Activity(); t.Type = ActivityTypes.Message; t.Attachments = new List <Attachment>() { CreateAdaptiveCardUsingJson() }; await turnContext.SendActivityAsync(t); } else { await turnContext.SendActivityAsync("3 kez hatalı giriş yaptınız."); conversationState.CurrentState = PdwResetStates.Completed; } } else if (!EmailValidator.Validate(userStateFromAdaptiveCard.Email)) { await turnContext.SendActivityAsync("Email bilgisini hatalı girdiniz. Lütfen bilgileri tekrar giriniz"); userStateFromAdaptiveCard.Counter++; if (userStateFromAdaptiveCard.Counter < 3) { Activity t = new Activity(); t.Type = ActivityTypes.Message; t.Attachments = new List <Attachment>() { CreateAdaptiveCardUsingJson() }; await turnContext.SendActivityAsync(t); } else { await turnContext.SendActivityAsync("3 kez hatalı giriş yaptınız."); conversationState.CurrentState = PdwResetStates.Completed; } } else if (!ApplicationValidator.Validate(userStateFromAdaptiveCard.Application)) { await turnContext.SendActivityAsync("Application bilgisini hatalı girdiniz. Lütfen bilgileri tekrar giriniz"); userStateFromAdaptiveCard.Counter++; if (userStateFromAdaptiveCard.Counter < 3) { Activity t = new Activity(); t.Type = ActivityTypes.Message; t.Attachments = new List <Attachment>() { CreateAdaptiveCardUsingJson() }; await turnContext.SendActivityAsync(t); } else { await turnContext.SendActivityAsync("3 kez hatalı giriş yaptınız."); conversationState.CurrentState = PdwResetStates.Completed; } } else { await turnContext.SendActivityAsync($"{userStateFromAdaptiveCard.UserName} için şifreniz resetlenecektir. Onaylıyor musunuz?"); conversationState.CurrentState = PdwResetStates.GetApproval; } return(userStateFromAdaptiveCard); }