protected override void Seed(FCIH_OJ.Models.UsersContext context) { // This method will be called after migrating to the latest version. // You can use the DbSet<T>.AddOrUpdate() helper extension method // to avoid creating duplicate seed data. E.g. // ////////////////////////////////////////////////////// // user module WebSecurity.InitializeDatabaseConnection("DefaultConnection", "UserProfile", "UserId", "UserName", autoCreateTables: true); SimpleRoleProvider roles = new SimpleRoleProvider(Roles.Provider); SimpleMembershipProvider membership = new SimpleMembershipProvider(Membership.Provider); if (!roles.RoleExists("admin")) { roles.CreateRole("admin"); } if (!WebSecurity.UserExists("admin")) { WebSecurity.CreateUserAndAccount("admin", "admin", new { Email = "*****@*****.**", Password = "******" }); } if (!roles.GetRolesForUser("admin").Contains("admin")) { roles.AddUsersToRoles(new[] { "admin" }, new[] { "admin" }); } //end of user module ////////////////////////////////////////////////////// //other modules }
public ActionResult DeleteUser(int id = 0) { var user = userprofile.UserProfiles.ToList(); SimpleRoleProvider roles = (SimpleRoleProvider)Roles.Provider; SimpleMembershipProvider membership = (SimpleMembershipProvider)Membership.Provider; UserProfile profile = userprofile.UserProfiles.Find(id); if (profile == null) { return(View(user)); } else { var roole = roles.GetRolesForUser(profile.UserName); roles.RemoveUsersFromRoles(new[] { profile.UserName }, roole); membership.DeleteUser(profile.UserName, true); var autorised = Request.IsAuthenticated ? User.Identity.Name : "nothing"; if (autorised == profile.UserName) { WebSecurity.Logout(); } TempData["_UserRole"] = "Prosto"; return(RedirectToAction("DeleteUser")); } }
public JsonResult Index(Guid?id, int?page, int?start, int?limit) { try { SimpleMembershipProvider provider = (SimpleMembershipProvider)Membership.Provider; // Поиск всех записей var allItems = unitOfWork.CustomerRepository().Get(orderBy: q => q.OrderBy(d => d.Name)); int itemsCount = allItems.Count(); int pageSize = (limit ?? 5); int pageNumber = (page ?? 1); var list = allItems.ToList().ToPagedList(pageNumber, pageSize); List <CustomerWithLogin> listWithLogins = new List <CustomerWithLogin>(); foreach (var item in list) { CustomerWithLogin customerWithLogin = new CustomerWithLogin(); customerWithLogin.Address = item.Address; customerWithLogin.Code = item.Code; customerWithLogin.CustomerId = item.CustomerId; customerWithLogin.Discount = item.Discount; customerWithLogin.Name = item.Name; customerWithLogin.UserId = item.UserId; customerWithLogin.Login = provider.GetUserNameFromId(item.UserId); listWithLogins.Add(customerWithLogin); } return(this.Json(new { success = true, total = itemsCount, data = listWithLogins }, JsonRequestBehavior.AllowGet)); } catch { return(this.Json(new { success = false }, JsonRequestBehavior.AllowGet)); } }
public JsonResult Delete(Guid id) { try { Customer customer = unitOfWork.CustomerRepository().GetByID(id); int userId = customer.UserId; unitOfWork.CustomerRepository().Delete(customer); unitOfWork.Save(); SimpleMembershipProvider membership = (SimpleMembershipProvider)Membership.Provider; string userName = membership.GetUserNameFromId(userId); if (Roles.GetRolesForUser(userName).Count() > 0) { Roles.RemoveUserFromRoles(userName, Roles.GetRolesForUser(userName)); } membership.DeleteAccount(userName); membership.DeleteUser(userName, true); return(this.Json(new { success = true })); } catch { return(this.Json(new { success = false })); } }
public ActionResult Login(LoginModel model, string returnUrl) { SimpleRoleProvider roles = (SimpleRoleProvider)Roles.Provider; SimpleMembershipProvider membership = (SimpleMembershipProvider)Membership.Provider; if (roles.IsUserInRole(model.UserName, "Admin")) { TempData["_UserRole"] = "Admin"; } else if (roles.IsUserInRole(model.UserName, "Moderator")) { TempData["_UserRole"] = "Moderator"; } else { TempData["_UserRole"] = "Prosto"; } if (ModelState.IsValid && WebSecurity.Login(model.UserName, model.Password, persistCookie: model.RememberMe)) { return(RedirectToLocal(returnUrl)); } // Появление этого сообщения означает наличие ошибки; повторное отображение формы ModelState.AddModelError("", "Имя пользователя или пароль указаны неверно."); return(View(model)); }
public ActionResult DeleteAccount(string UserName) { try { if (!WebSecurity.UserExists(UserName)) { return(Content(String.Format("<h4 class='text-danger'>Не найден пользователь '{0}'</h4>", UserName))); } string[] userRoles = Roles.GetRolesForUser(UserName); if (userRoles.Count() > 0) { Roles.RemoveUserFromRoles(UserName, userRoles); } SimpleMembershipProvider provider = Membership.Provider as SimpleMembershipProvider; bool deleteResult = provider.DeleteAccount(UserName); deleteResult = deleteResult && provider.DeleteUser(UserName, true); if (deleteResult) { return(Content(String.Format("<h4 class='text-success'>Аккаунт пользователя '{0}' успешно удален</h4>", UserName))); } else { return(Content(String.Format("<h4 class='text-danger'>Аккаунта пользователя '{0}' возможно не удалось удалить полностью</h4>", UserName))); } } catch (Exception) { return(Content(String.Format("<h4 class='text-danger'>Возникли ошибки в процессе удаления аккаунта пользователя '{0}'</h4>", UserName))); } }
public SimpleMembershipInitializer() { Database.SetInitializer <UsersContext>(null); try { using (var context = new UsersContext()) { if (!context.Database.Exists()) { // Create the SimpleMembership database without Entity Framework migration schema ((IObjectContextAdapter)context).ObjectContext.CreateDatabase(); } } WebSecurity.InitializeDatabaseConnection("UsersConnection", "UserProfile", "UserId", "UserName", autoCreateTables: true); SimpleMembershipProvider provider = (SimpleMembershipProvider)Membership.Provider; if (provider.GetUser("user", false) == null) { provider.CreateUserAndAccount("user", "user1111"); } //WebSecurity.CreateUserAndAccount("user1", "user1111"); } catch (Exception ex) { throw new InvalidOperationException("The ASP.NET Simple Membership database could not be initialized. For more information, please see http://go.microsoft.com/fwlink/?LinkId=256588", ex); } }
internal static void InitializeMembershipProvider( SimpleMembershipProvider simpleMembership, DatabaseConnectionInfo connect, string userTableName, string userIdColumn, string userNameColumn, bool createTables, SimpleMembershipProviderCasingBehavior casingBehavior) { if (simpleMembership.InitializeCalled) { throw new InvalidOperationException(WebDataResources.Security_InitializeAlreadyCalled); } simpleMembership.CasingBehavior = casingBehavior; simpleMembership.ConnectionInfo = connect; simpleMembership.UserIdColumn = userIdColumn; simpleMembership.UserNameColumn = userNameColumn; simpleMembership.UserTableName = userTableName; if (createTables) { simpleMembership.CreateTablesIfNeeded(); } else { // We want to validate the user table if we aren't creating them simpleMembership.ValidateUserTable(); } simpleMembership.InitializeCalled = true; }
public void SimpleMembershipProvider_CasingBehavior_ValidatesRange(int value, bool isValid) { // Arrange var provider = new SimpleMembershipProvider(); var message = "The value of argument 'value' (" + value + ") is invalid for Enum type " + "'SimpleMembershipProviderCasingBehavior'." + Environment.NewLine + "Parameter name: value"; // Act Exception exception = null; try { provider.CasingBehavior = (SimpleMembershipProviderCasingBehavior)value; } catch (Exception ex) { exception = ex; } // Assert if (isValid) { Assert.Equal((SimpleMembershipProviderCasingBehavior)value, provider.CasingBehavior); } else { Assert.NotNull(exception); Assert.IsAssignableFrom <InvalidEnumArgumentException>(exception); Assert.Equal(message, exception.Message); } }
public void Initialize() { Database.SetInitializer <ShopDBContext>(null); try { using (var context = new ShopDBContext()) { if (!context.Database.Exists()) { ((IObjectContextAdapter)context).ObjectContext.CreateDatabase(); } } WebSecurity.InitializeDatabaseConnection("ShopDB", "Users", "UserId", "Email", autoCreateTables: true); SimpleRoleProvider roles = (SimpleRoleProvider)Roles.Provider; SimpleMembershipProvider memberships = (SimpleMembershipProvider)Membership.Provider; if (!roles.RoleExists("Admin")) { roles.CreateRole("Admin"); } if (memberships.GetUser("*****@*****.**", false) == null) { memberships.CreateUserAndAccount("*****@*****.**", "qwerty1234"); roles.AddUsersToRoles(new[] { "*****@*****.**" }, new[] { "Admin" }); } } catch (Exception ex) { throw new InvalidOperationException("The ASP.NET Simple Membership database could not be initialized. For more information, please see http://go.microsoft.com/fwlink/?LinkId=256588", ex); } }
public bool ResetPassword(ResetPasswordParameters parameters) { if (parameters == null) { throw new ClientException("It is not allowed to call this authentication service method with no parameters provided."); } _logger.Trace("ResetPassword"); parameters.Validate(); CheckPasswordStrength(parameters.NewPassword); int userId = WebSecurity.GetUserIdFromPasswordResetToken(parameters.PasswordResetToken); SimpleMembershipProvider provider = (SimpleMembershipProvider)Membership.Provider; string userName = provider.GetUserNameFromId(userId); _logger.Trace(() => "ResetPassword " + userName); bool successfulReset = SafeExecute( () => WebSecurity.ResetPassword(parameters.PasswordResetToken, parameters.NewPassword), "ResetPassword", userName); if (successfulReset && !string.IsNullOrEmpty(userName)) { SafeExecute( // Login does not need to be successful for this function to return true. () => { Login(new LoginParameters { UserName = userName, Password = parameters.NewPassword, PersistCookie = false }); }, "Login after ResetPassword", userName); } return(successfulReset); }
protected void InitializeUserAndRoles() { SimpleRoleProvider roles = (SimpleRoleProvider)Roles.Provider; SimpleMembershipProvider membership = (SimpleMembershipProvider)Membership.Provider; if (!roles.RoleExists("Admin")) { roles.CreateRole("Admin"); } if (!roles.RoleExists("Manager")) { roles.CreateRole("Manager"); } if (!roles.RoleExists("User")) { roles.CreateRole("User"); } if (membership.GetUser("*****@*****.**", false) == null) { WebSecurity.CreateUserAndAccount("*****@*****.**", "123456", new { IsBlocked = false }); roles.AddUsersToRoles(new[] { "*****@*****.**" }, new[] { "Admin" }); } if (membership.GetUser("*****@*****.**", false) == null) { WebSecurity.CreateUserAndAccount("*****@*****.**", "123456", new { IsBlocked = false }); roles.AddUsersToRoles(new[] { "*****@*****.**" }, new[] { "User" }); } }
// // GET: /Account/LogOff public ActionResult LogOff() { FormsAuthentication.SignOut(); logoutListener.OnLoggedOff.Invoke(SimpleMembershipProvider.GetUser(HttpContext.User.Identity.Name)); return(RedirectToAction("Index", "Home")); }
public ExcelHelper(ExcelWorkbook workBook, PortalContext db) { _usersRegister = new Dictionary <string, UserRegister>(); currentWorkBook = workBook; roles = (SimpleRoleProvider)Roles.Provider; membership = (SimpleMembershipProvider)Membership.Provider; currentDb = db; }
private static SimpleMembershipProvider CreateDefaultSimpleMembershipProvider(string name, System.Web.Security.MembershipProvider currentDefault) { var membership = new SimpleMembershipProvider(previousProvider: currentDefault); NameValueCollection config = new NameValueCollection(); membership.Initialize(name, config); return(membership); }
/// <summary> /// Add a user to the data storage. /// </summary> /// <param name="user">The user to add.</param> public void Add(User user) { // Encrypt password before saving to database user.Password = SimpleMembershipProvider.EncryptPassword(user.Password); db.Users.Add(user); db.SaveChanges(); }
private static SimpleMembershipProvider CreateDefaultSimpleMembershipProvider(string name, MembershipProvider currentDefault) { MembershipProvider previousProvider = currentDefault; SimpleMembershipProvider provider = new SimpleMembershipProvider(previousProvider); NameValueCollection config = new NameValueCollection(); provider.Initialize(name, config); return(provider); }
public SimpleMembershipInitializer() { Database.SetInitializer <UsersContext>(null); try { using (var context = new UsersContext()) { if (!context.Database.Exists()) { // Создание базы данных SimpleMembership без применения миграции Entity Framework ((IObjectContextAdapter)context).ObjectContext.CreateDatabase(); } } // Настройка ASP.NET Simple Membership // 1 параметр - имя строки подключения к базе данных. // 2 параметр - таблица, которая содержит информацию о пользователях // 3 параметр - имя колонки в таблице, которая отвечает за хранение логина // 4 параметр - autoCreateTables автоматическое создание таблиц если они не существуют в базе WebSecurity.InitializeDatabaseConnection("DefaultConnection", "UserProfile", "UserId", "UserName", autoCreateTables: true); SimpleRoleProvider roles = (SimpleRoleProvider)Roles.Provider; SimpleMembershipProvider membership = (SimpleMembershipProvider)Membership.Provider; // Проверка наличия роли Moderator if (!roles.RoleExists("Moderator")) { roles.CreateRole("Moderator"); } // Проверка наличия роли Admin if (!roles.RoleExists("Admin")) { roles.CreateRole("Admin"); } if (membership.GetUser("OverLord56_1", false) == null) { membership.CreateUserAndAccount("OverLord56_1", "89Zxcv"); // создание пользователя roles.AddUsersToRoles(new[] { "OverLord56_1" }, new[] { "Admin" }); // установка роли для пользователя } // Поиск пользователя с логином admin if (membership.GetUser("admin", false) == null) { membership.CreateUserAndAccount("admin", "qwe123"); // создание пользователя roles.AddUsersToRoles(new[] { "admin" }, new[] { "Admin" }); // установка роли для пользователя } if (membership.GetUser("user1", false) == null) { membership.CreateUserAndAccount("user1", "qwe123"); roles.AddUsersToRoles(new[] { "user1" }, new[] { "Moderator" }); } } catch (Exception ex) { throw new InvalidOperationException("The ASP.NET Simple Membership database could not be initialized. For more information, please see http://go.microsoft.com/fwlink/?LinkId=256588", ex); } }
public SimpleMembershipInitializer() { Database.SetInitializer <UsersContext>(null); try { using (var context = new UsersContext()) { if (!context.Database.Exists()) { // Создание базы данных SimpleMembership без схемы миграции Entity Framework ((IObjectContextAdapter)context).ObjectContext.CreateDatabase(); } } // WebSecurity.InitializeDatabaseConnection("DefaultConnection", "UserProfile", "UserId", "UserName", autoCreateTables: true); SimpleRoleProvider roles = (SimpleRoleProvider)Roles.Provider; SimpleMembershipProvider membership = (SimpleMembershipProvider)Membership.Provider; // Проверка наличия роли Moderator if (!roles.RoleExists("Moderator")) { roles.CreateRole("Moderator"); } // Проверка наличия роли Admin if (!roles.RoleExists("Admin")) { roles.CreateRole("Admin"); } if (!roles.RoleExists("User")) { roles.CreateRole("User"); } // Поиск пользователя с логином admin if (membership.GetUser("admin", false) == null) { membership.CreateUserAndAccount("admin", "qwe123"); // создание пользователя roles.AddUsersToRoles(new[] { "admin" }, new[] { "Admin" }); // установка роли для пользователя } if (membership.GetUser("user1", false) == null) { membership.CreateUserAndAccount("user1", "qwe123"); roles.AddUsersToRoles(new[] { "user1" }, new[] { "Moderator" }); } } catch (Exception ex) { throw new InvalidOperationException("Не удалось инициализировать базу данных ASP.NET Simple Membership. Чтобы получить дополнительные сведения, перейдите по адресу: http://go.microsoft.com/fwlink/?LinkId=256588", ex); } }
protected override void Seed(PortalContext context) { WebSecurity.InitializeDatabaseConnection("PortalContext", "UserProfile", "UserId", "UserName", autoCreateTables: true); roles = (SimpleRoleProvider)Roles.Provider; membership = (SimpleMembershipProvider)Membership.Provider; if (!roles.RoleExists("Admin")) { roles.CreateRole("Admin"); } if (!roles.RoleExists("Member")) { roles.CreateRole("Member"); } if (!roles.RoleExists("RefundVisualizator")) { roles.CreateRole("RefundVisualizator"); } if (!roles.RoleExists("RefundAdministrator")) { roles.CreateRole("RefundAdministrator"); } if (!roles.RoleExists("Manager")) { roles.CreateRole("Manager"); } if (!roles.RoleExists("Freelancer")) { roles.CreateRole("Freelancer"); } if (membership.GetUser("admin", false) == null) { membership.CreateUserAndAccount("admin", "pesca160064"); } if (!roles.GetRolesForUser("admin").Contains("Admin")) { roles.AddUsersToRoles(new[] { "admin" }, new[] { "Admin" }); } var currentCpf = "38287346851"; CheckUser(currentCpf, "Bruno Tachinardi Andrade Silva", "*****@*****.**"); CheckRefund(currentCpf); CheckRefundAdministrator(currentCpf); CheckManager(currentCpf, "BRUNO"); CheckFreelancer(currentCpf, "BRUNO", 8, 1200, 128, 50, FreelancerType.EDUCATOR); currentCpf = "17858466801"; CheckUser(currentCpf, "Pedro de Almeida Pereira", "*****@*****.**"); CheckRefund(currentCpf); CheckFreelancer(currentCpf, "BRUNO", 8, 1200, 128, 50, FreelancerType.EDUCATOR); }
public void GenerateTokenHtmlEncodesValues() { // Arrange var generator = new Mock <RandomNumberGenerator>(MockBehavior.Strict); var generatedBytes = Encoding.Default.GetBytes("|aÿx§#½oÿ↨îA8Eµ"); generator.Setup(g => g.GetBytes(It.IsAny <byte[]>())).Callback((byte[] array) => Array.Copy(generatedBytes, array, generatedBytes.Length)); // Act var result = SimpleMembershipProvider.GenerateToken(generator.Object); // Assert Assert.Equal("fGH/eKcjvW//P+5BOEW1", Convert.ToBase64String(generatedBytes)); Assert.Equal("fGH_eKcjvW__P-5BOEW1AA2", result); }
private List <int> GetUserIdsFromNames(IDatabase db, string[] usernames) { List <int> userIds = new List <int>(usernames.Length); foreach (string username in usernames) { int id = SimpleMembershipProvider.GetUserId(db, SafeUserTableName, SafeUserNameColumn, SafeUserIdColumn, CasingBehavior, username); if (id == -1) { throw new InvalidOperationException(String.Format(CultureInfo.CurrentCulture, WebDataResources.Security_NoUserFound, username)); } userIds.Add(id); } return(userIds); }
public ActionResult Login(LoginModel model, string returnUrl) { //Витягуємо роль користувача і при LogOut SimpleRoleProvider roles = (SimpleRoleProvider)Roles.Provider; SimpleMembershipProvider membership = (SimpleMembershipProvider)Membership.Provider; if (roles.IsUserInRole(model.UserName, "Admin")) { TempData["_UserRole"] = "Admin"; } else if (roles.IsUserInRole(model.UserName, "Moderator")) { TempData["_UserRole"] = "Moderator"; } else { TempData["_UserRole"] = "Prosto"; } // WebSecurity.Login - аутентифицирует пользователя. // Если логин и пароль введены правильно - метод возвращает значение true после чего выполняет добавление специальных значений в cookies. if (ModelState.IsValid && WebSecurity.Login(model.UserName, model.Password, persistCookie: model.RememberMe)) { try { if (HttpContext.Request.Cookies["num_of_film"].Value == null) { return(RedirectToAction("Index", "Home")); } else { return(RedirectToLocal(returnUrl)); } } catch { return(RedirectToAction("Index", "Home")); } } // Был введен не правильный логин или пароль ModelState.AddModelError("", "The user name or password provided is incorrect."); return(View(model)); }
// Inherited from RoleProvider ==> Forwarded to previous provider if this provider hasn't been initialized public override string[] GetRolesForUser(string username) { if (!InitializeCalled) { return(PreviousProvider.GetRolesForUser(username)); } using (var db = ConnectToDatabase()) { int userId = SimpleMembershipProvider.GetUserId(db, SafeUserTableName, SafeUserNameColumn, SafeUserIdColumn, CasingBehavior, username); if (userId == -1) { throw new InvalidOperationException(String.Format(CultureInfo.CurrentCulture, WebDataResources.Security_NoUserFound, username)); } string query = @"SELECT r.RoleName FROM " + UsersInRoleTableName + " u, " + RoleTableName + " r Where (u.UserId = @0 and u.RoleId = r.RoleId) GROUP BY RoleName"; return(db.Query(query, new object[] { userId }).Select <dynamic, string>(d => (string)d[0]).ToArray()); } }
private static void InitializeProviders(DatabaseConnectionInfo connect, string userTableName, string userIdColumn, string userNameColumn, bool autoCreateTables) { SimpleMembershipProvider simpleMembership = Membership.Provider as SimpleMembershipProvider; if (simpleMembership != null) { InitializeMembershipProvider(simpleMembership, connect, userTableName, userIdColumn, userNameColumn, autoCreateTables); } SimpleRoleProvider simpleRoles = Roles.Provider as SimpleRoleProvider; if (simpleRoles != null) { InitializeRoleProvider(simpleRoles, connect, userTableName, userIdColumn, userNameColumn, autoCreateTables); } Initialized = true; }
public ActionResult Index(ViewAccountModel model, int AccountID) { if (!Roles.GetRolesForUser(WebSecurity.CurrentUserName).Contains("Admin")) { return(RedirectToAction("Index", "Home")); } using (var db = new LoginContexts()) { SimpleMembershipProvider provider = new SimpleMembershipProvider(); UserProfile Profile = db.UserProfiles.Find(AccountID); model.UserName = Profile.UserName; string[] AccountRoles = Roles.GetRolesForUser(Profile.UserName); model.AdminChecked = AccountRoles.Contains("Admin"); model.EngineerChecked = AccountRoles.Contains("Engineer"); model.OperatorChecked = AccountRoles.Contains("Operator"); return(View(model)); } }
private UserProfile CreateUser(string email, string fullName, SimpleMembershipProvider membership, SimpleRoleProvider roles, SweatyTShirtContext context) { string userName = Guid.NewGuid().ToString(); Dictionary <string, object> values = new Dictionary <string, object>(); values.Add("Email", email); values.Add("LastEmailSent", DateTime.Now.AddDays(-365)); membership.CreateUserAndAccount(userName, AccountRepository.AllUsersPassword, values); roles.AddUsersToRoles(new[] { userName }, new[] { AccountRepository.UserRole }); UserProfile userProfile = context.UserProfiles.FirstOrDefault(o => o.Email == email); userProfile.FullName = fullName; context.SaveChanges(); return(userProfile); }
public ActionResult Login(LoginModel model, string returnUrl) { if (ModelState.IsValid) { if (Membership.ValidateUser(model.UserName, model.Password)) { var user = SimpleMembershipProvider.GetUser(model.UserName); loginListener.OnLogin.Invoke(user); var userModel = new UserSerializeModel { Id = user.Id, Username = user.UserName }; var userData = JsonConvert.SerializeObject(userModel); var ticket = new FormsAuthenticationTicket(1, userModel.Username, DateTime.Now, DateTime.Now.AddMinutes(60), false, userData); string ecryptedTicket = FormsAuthentication.Encrypt(ticket); HttpCookie faCookie = new HttpCookie(FormsAuthentication.FormsCookieName, ecryptedTicket); Response.Cookies.Add(faCookie); Session["user"] = user; if (Url.IsLocalUrl(returnUrl)) { return(Redirect(returnUrl)); } else { return(RedirectToAction("Index", "Home")); } } else { ModelState.AddModelError("", "The user name or password provided is incorrect."); } } // If we got this far, something failed, redisplay form return(View(model)); }
public SimpleMembershipInitializer() { Database.SetInitializer <DatabaseContext>(null); using (var context = new DatabaseContext()) { if (!context.Database.Exists()) { // Создание базы данных SimpleMembership без применения миграции Entity Framework ((IObjectContextAdapter)context).ObjectContext.CreateDatabase(); } WebSecurity.InitializeDatabaseConnection("DatabaseContext", "User", "UserId", "Email", true); SimpleRoleProvider roles = Roles.Provider as SimpleRoleProvider; SimpleMembershipProvider membership = Membership.Provider as SimpleMembershipProvider; string admin = "Admin"; string user = "******"; if (!roles.RoleExists(admin)) { roles.CreateRole(admin); } if (!roles.RoleExists(user)) { roles.CreateRole(user); } // Поиск пользователя с логином admin if (membership.GetUser("*****@*****.**", false) == null) { IDictionary <string, object> values = new Dictionary <string, object>(); values["FirstName"] = "Maxim"; values["LastName"] = "Bartosh"; values["RegistrationDate"] = DateTime.Now; membership.CreateUserAndAccount("*****@*****.**", "qwe123", values); // создание пользователя roles.AddUsersToRoles(new[] { "*****@*****.**" }, new[] { "Admin" }); // установка роли для пользователя } } }
/// <summary> /// Refactor user creation and add email id to user profile /// </summary> /// <param name="roles"></param> /// <param name="membership"></param> /// <param name="context"></param> /// <param name="username"></param> /// <param name="password"></param> /// <param name="email"></param> /// <param name="role"></param> private void CreateAccountAndRole(SimpleRoleProvider roles, SimpleMembershipProvider membership, UsersContext context, string username, string password, string email, string role) { if (membership.GetUser(username, false) == null) { membership.CreateUserAndAccount(username, password); } if (!roles.GetRolesForUser(username).Contains(role)) { roles.AddUsersToRoles(new[] { username }, new[] { role }); } var user = context.UserProfiles.FirstOrDefault(u => u.UserName == username); if (user != null && string.IsNullOrEmpty(user.EmailId)) { user.EmailId = email; } }
private static SimpleMembershipProvider CreateDefaultSimpleMembershipProvider(string name, MembershipProvider currentDefault) { var membership = new SimpleMembershipProvider(previousProvider: currentDefault); NameValueCollection config = new NameValueCollection(); membership.Initialize(name, config); return membership; }
internal static void InitializeMembershipProvider(SimpleMembershipProvider simpleMembership, DatabaseConnectionInfo connect, string userTableName, string userIdColumn, string userNameColumn, bool createTables) { if (simpleMembership.InitializeCalled) { throw new InvalidOperationException(WebDataResources.Security_InitializeAlreadyCalled); } simpleMembership.ConnectionInfo = connect; simpleMembership.UserIdColumn = userIdColumn; simpleMembership.UserNameColumn = userNameColumn; simpleMembership.UserTableName = userTableName; if (createTables) { simpleMembership.CreateTablesIfNeeded(); } else { // We want to validate the user table if we aren't creating them simpleMembership.ValidateUserTable(); } simpleMembership.InitializeCalled = true; }
public void SimpleMembershipProvider_CasingBehavior_ValidatesRange(int value, bool isValid) { // Arrange var provider = new SimpleMembershipProvider(); var message = "The value of argument 'value' (" + value + ") is invalid for Enum type " + "'SimpleMembershipProviderCasingBehavior'." + Environment.NewLine + "Parameter name: value"; // Act Exception exception = null; try { provider.CasingBehavior = (SimpleMembershipProviderCasingBehavior)value; } catch (Exception ex) { exception = ex; } // Assert if (isValid) { Assert.Equal((SimpleMembershipProviderCasingBehavior)value, provider.CasingBehavior); } else { Assert.NotNull(exception); Assert.IsAssignableFrom<InvalidEnumArgumentException>(exception); Assert.Equal(message, exception.Message); } }