private bool checkPassword() { try { //Verifying the entered user name and password. return(objHash.VerifyPassword(txtPassword.Text.Trim(), userDetails.SALT + ":" + userDetails.HASH)); } catch (Exception exp) { throw exp; } }
private bool Login() { if (string.IsNullOrEmpty(userName)) { Result.Message = new BusinessMessage("خطا", "نام کاربری را وارد کنید."); return(false); } if (string.IsNullOrEmpty(password)) { Result.Message = new BusinessMessage("خطا", "رمز عبور را وارد کنید."); return(false); } var user = accountingUow.GetRepository <User>().GetFirst(x => x.UserName.Equals(userName)); if (user == null || !HashPassword.VerifyPassword(password, user.Password)) { Result.Message = new BusinessMessage("خطا", "نام کاربری یا رمز عبور اشتباه است."); return(false); } var roleResult = accountingUow.GetRepository <V_UserRole>().Select(x => x.UserId == user.UserId, x => new Infra.Wpf.Security.Role { RoleId = x.RoleId, Name = x.RoleTitle }); var permissionResult = accountingUow.GetRepository <V_UserRolePermission>().Select(x => x.UserId == user.UserId, x => new Infra.Wpf.Security.Permission { PermissionId = x.PermmisionId, Url = x.Url }, distinct: true); Identity identity = new Identity(user.UserName, user.UserId, roleResult, permissionResult); Principal principal = new Principal(identity, AuthorizeBasedOn.BaseOnPermission); AppDomain.CurrentDomain.SetThreadPrincipal(principal); accountingUow.Logger.Log(new LogInfo() { CallSite = this.GetType().FullName, LogType = LogType.Information, UserId = user.UserId, Message = "Login: UserName = " + user.UserName }); return(true); }