public override bool DeleteRole(string roleName, bool throwOnPopulatedRole) { SQLiteParameter[] parms = { SU.CreateInputParam("@ApplicationId", DbType.String, ApplicationId), SU.CreateInputParam("@LoweredRoleName", DbType.String, roleName.ToLower()) }; int effect = 0; using (SQLiteConnection conn = SQLiteConnectionHelper.GetConnection(SqlConnectionString, true).Connection) { if (throwOnPopulatedRole) { var obj = SQLiteHelper.ExecuteScalar(conn, CommandType.Text, Sql_IsExistUserInRole, parms); if (obj != null) { throw new ProviderException(SM.GetString(SM.Role_is_not_empty)); } } effect = SQLiteHelper.ExecuteNonQuery(conn, CommandType.Text, Sql_Roles_Delete, parms); SQLiteHelper.ExecuteNonQuery(conn, CommandType.Text, Sql_DeleteUsersByRoleName, parms); } return(effect > 0); }
public override void CreateRole(string roleName) { SQLiteParameter[] isExistParms = { SU.CreateInputParam("@ApplicationId", DbType.String, ApplicationId), SU.CreateInputParam("@LoweredRoleName", DbType.String, roleName.ToLower()) }; using (SQLiteConnection conn = SQLiteConnectionHelper.GetConnection(SqlConnectionString, true).Connection) { var obj = SQLiteHelper.ExecuteScalar(conn, CommandType.Text, Sql_Roles_IsExistName, isExistParms); if (obj != null) { return; } SQLiteParameter[] parms = { SU.CreateInputParam("@ApplicationId", DbType.String, ApplicationId), SU.CreateInputParam("@RoleId", DbType.String, Guid.NewGuid().ToString("N")), SU.CreateInputParam("@RoleName", DbType.String, roleName), SU.CreateInputParam("@LoweredRoleName", DbType.String, roleName.ToLower()), SU.CreateInputParam("@Description", DbType.String, string.Empty) }; SQLiteHelper.ExecuteNonQuery(conn, CommandType.Text, Sql_Roles_Insert, parms); } }
private void RemoveUserFromRole(string username, string roleName) { SQLiteParameter[] parms = { SU.CreateInputParam("@ApplicationId", DbType.String, ApplicationId), SU.CreateInputParam("@LoweredUserName", DbType.String, username.ToLower()), SU.CreateInputParam("@LoweredRoleName", DbType.String, roleName.ToLower()) }; SQLiteHelper.ExecuteScalar(SqlConnectionString, CommandType.Text, Sql_RemoveUserFromRole, parms); }
public override bool RoleExists(string roleName) { SQLiteParameter[] parms = { SU.CreateInputParam("@ApplicationId", DbType.String, ApplicationId), SU.CreateInputParam("@LoweredRoleName", DbType.String, roleName.ToLower()) }; var obj = SQLiteHelper.ExecuteScalar(SqlConnectionString, CommandType.Text, Sql_Roles_IsExist, parms); return(obj != null); }
private void AddUserToRole(string username, string roleName) { SQLiteParameter[] parms = { SU.CreateInputParam("@ApplicationId", DbType.String, ApplicationId), SU.CreateInputParam("@LoweredUserName", DbType.String, username.ToLower()), SU.CreateInputParam("@LoweredRoleName", DbType.String, roleName.ToLower()) }; var userId = string.Empty; var roleId = string.Empty; var effect = 0; using (SQLiteConnection conn = SQLiteConnectionHelper.GetConnection(SqlConnectionString, true).Connection) { using (SQLiteDataReader reader = SQLiteHelper.ExecuteReader(conn, CommandType.Text, SU.Sql_Users_SelectIdByName, parms)) { if (reader.Read()) { userId = reader.GetString(0); } } using (SQLiteDataReader reader = SQLiteHelper.ExecuteReader(conn, CommandType.Text, Sql_Roles_SelectId, parms)) { if (reader.Read()) { roleId = reader.GetString(0); } } if (string.IsNullOrEmpty(userId) || string.IsNullOrEmpty(roleId)) { return; } SQLiteParameter[] uirParms = { SU.CreateInputParam("@UserId", DbType.String, userId), SU.CreateInputParam("@RoleId", DbType.String, roleId) }; effect = SQLiteHelper.ExecuteNonQuery(conn, CommandType.Text, SU.Sql_UsersInRoles_Insert, uirParms); } if (effect < 1) { throw new ProviderException(SM.Provider_unknown_failure); } }
public override string[] GetUsersInRole(string roleName) { var arr = new List <string>(); SQLiteParameter[] parms = { SU.CreateInputParam("@ApplicationId", DbType.String, ApplicationId), SU.CreateInputParam("@LoweredRoleName", DbType.String, roleName.ToLower()) }; using (SQLiteDataReader reader = SQLiteHelper.ExecuteReader(SqlConnectionString, CommandType.Text, Sql_SelectUsersInRole, parms)) { while (reader.Read()) { arr.Add(reader.GetString(0)); } } return(arr.ToArray()); }
public override string[] GetAllRoles() { var arr = new List <string>(); using (SQLiteDataReader reader = SQLiteHelper.ExecuteReader(SqlConnectionString, CommandType.Text, Sql_Roles_SelectAll, SU.CreateInputParam("@ApplicationId", DbType.String, ApplicationId))) { while (reader.Read()) { arr.Add(reader.GetString(0)); } } return(arr.ToArray()); }
public override bool ValidateUser(string username, string password) { if (string.IsNullOrEmpty(username) || string.IsNullOrEmpty(password)) { return(false); } string psw = string.Empty; int passwordFormat = 0; string passwordSalt = string.Empty; using (SQLiteDataReader reader = SQLiteHelper.ExecuteReader(SqlConnectionString, CommandType.Text, Sql_Users_Mem_FindUserInfoByName, SU.CreateInputParam("@LoweredUserName", DbType.String, username))) { if (!reader.Read()) { return(false); } psw = reader.GetString(0); passwordFormat = reader.GetInt32(1); passwordSalt = reader.GetString(2); } if (EncodePassword(password, passwordFormat, passwordSalt) != psw) { return(false); } return(true); }
public override MembershipUser CreateUser(string username, string password, string email, string passwordQuestion, string passwordAnswer, bool isApproved, object providerUserKey, out MembershipCreateStatus status) { if (string.IsNullOrEmpty(username) || string.IsNullOrEmpty(password)) { status = MembershipCreateStatus.UserRejected; return(null); } string salt = GenerateSalt(); string psw = EncodePassword(password, (int)PasswordFormat, salt); if (psw.Length > 128) { status = MembershipCreateStatus.InvalidPassword; return(null); } SQLiteParameter[] parms1 = { SU.CreateInputParam("@ApplicationId", DbType.String, ApplicationId), SU.CreateInputParam("@LoweredUserName", DbType.String, username.ToLower()) }; var effect = SQLiteHelper.ExecuteScalar(SqlConnectionString, CommandType.Text, Sql_Users_CheckUserName, parms1); if (effect != null) { status = MembershipCreateStatus.DuplicateUserName; return(null); } Guid userId = Guid.Empty; if (providerUserKey != null) { Guid.TryParse(providerUserKey.ToString(), out userId); } else { userId = Guid.NewGuid(); } DateTime dt = RoundToSeconds(DateTime.Now); SQLiteParameter[] usersParms = { SU.CreateInputParam("@ApplicationId", DbType.String, ApplicationId), SU.CreateInputParam("@UserId", DbType.String, userId.ToString("N")), SU.CreateInputParam("@UserName", DbType.String, username), SU.CreateInputParam("@LoweredUserName", DbType.String, username.ToLower()), SU.CreateInputParam("@MobileAlias", DbType.String, string.Empty), SU.CreateInputParam("@IsAnonymous", DbType.Boolean, IsAnonymous), SU.CreateInputParam("@LastActivityDate", DbType.DateTime, dt), }; SQLiteParameter[] memberParms = { SU.CreateInputParam("@ApplicationId", DbType.String, ApplicationId), SU.CreateInputParam("@UserId", DbType.String, userId.ToString("N")), SU.CreateInputParam("@Password", DbType.String, psw), SU.CreateInputParam("@PasswordFormat", DbType.Int32, (int)PasswordFormat), SU.CreateInputParam("@PasswordSalt", DbType.String, salt), SU.CreateInputParam("@MobilePIN", DbType.String, string.Empty), SU.CreateInputParam("@Email", DbType.String, email), SU.CreateInputParam("@LoweredEmail", DbType.String, email.ToLower()), SU.CreateInputParam("@PasswordQuestion", DbType.String, string.Empty), SU.CreateInputParam("@PasswordAnswer", DbType.String, string.Empty), SU.CreateInputParam("@IsApproved", DbType.Boolean, isApproved), SU.CreateInputParam("@IsLockedOut", DbType.Boolean, false), SU.CreateInputParam("@CreateDate", DbType.DateTime, dt), SU.CreateInputParam("@LastLoginDate", DbType.DateTime, dt), SU.CreateInputParam("@LastPasswordChangedDate", DbType.DateTime, dt), SU.CreateInputParam("@LastLockoutDate", DbType.DateTime, DateTime.MinValue), SU.CreateInputParam("@FailedPasswordAttemptCount", DbType.Int32, 0), SU.CreateInputParam("@FailedPasswordAttemptWindowStart", DbType.DateTime, DateTime.MinValue), SU.CreateInputParam("@FailedPasswordAnswerAttemptCount", DbType.Int32, 0), SU.CreateInputParam("@FailedPasswordAnswerAttemptWindowStart", DbType.DateTime, DateTime.MinValue), SU.CreateInputParam("@Comment", DbType.String, string.Empty) }; int iStatus = SQLiteHelper.ExecuteNonQuery(SqlConnectionString, CommandType.Text, Sql_Users_Insert, usersParms); if (iStatus > 0) { SQLiteHelper.ExecuteNonQuery(SqlConnectionString, CommandType.Text, Sql_Membership_Insert, memberParms); } if (iStatus < 1) { status = MembershipCreateStatus.UserRejected; return(null); } status = MembershipCreateStatus.Success; return(new MembershipUser(this.Name, username, userId, email, string.Empty, null, isApproved, false, dt, dt, dt, dt, new DateTime(1754, 1, 1))); }