/// <summary> /// Deletes row User-Role /// </summary> public int DeleteUserRole(IdentityUser user, string roleId) { string commandText = "Delete from UserRoles where UserId = @userId AND RoleId = @roleId"; Dictionary<string, object> parameters = new Dictionary<string, object>(); parameters.Add("UserId", user.Id); parameters.Add("roleId", roleId); return _database.Execute(commandText, parameters); }
/// <summary> /// Inserts a new role for a user in the UserRoles table /// </summary> /// <param name="user">The User</param> /// <param name="roleId">The Role's id</param> /// <returns></returns> public int Insert(IdentityUser user, string roleId) { string commandText = "Insert into userroles (UserId, RoleId) values (@userId, @roleId)"; Dictionary<string, object> parameters = new Dictionary<string, object>(); parameters.Add("@userId", user.Id); parameters.Add("@roleId", roleId); return _database.Execute(commandText, parameters); }
/// <summary> /// Inserts a new role for a user in the UserRoles table /// </summary> /// <param name="user">The User</param> /// <param name="roleId">The Role's id</param> /// <returns></returns> public int Insert(IdentityUser user, string roleId) { string commandText = "Insert into usuariosRoles (idusuario, idrole) values (@idusuario, @idrole)"; Dictionary<string, object> parameters = new Dictionary<string, object>(); parameters.Add("idusuario", user.Id); parameters.Add("idrole", roleId); return _database.Execute(commandText, parameters); }
/// <summary> /// Inserts a new login in the UserLogins table /// </summary> /// <param name="user">User to have new login added</param> /// <param name="login">Login to be added</param> /// <returns></returns> public int Insert(IdentityUser user, UserLoginInfo login) { string commandText = "Insert into UserLogins (LoginProvider, ProviderKey, UserId) values (@loginProvider, @providerKey, @userId)"; Dictionary<string, object> parameters = new Dictionary<string, object>(); parameters.Add("loginProvider", login.LoginProvider); parameters.Add("providerKey", login.ProviderKey); parameters.Add("userId", user.Id); return _database.Execute(commandText, parameters); }
/// <summary> /// Deletes a claim from a user /// </summary> /// <param name="user">The user to have a claim deleted</param> /// <param name="claim">A claim to be deleted from user</param> /// <returns></returns> public int Delete(IdentityUser user, Claim claim) { string commandText = "Delete from UserClaims where UserId = @userId and @ClaimValue = @value and ClaimType = @type"; Dictionary<string, object> parameters = new Dictionary<string, object>(); parameters.Add("userId", user.Id); parameters.Add("value", claim.Value); parameters.Add("type", claim.Type); return _database.Execute(commandText, parameters); }
/// <summary> /// Deletes a login from a user in the UserLogins table /// </summary> /// <param name="user">User to have login deleted</param> /// <param name="login">Login to be deleted from user</param> /// <returns></returns> public int Delete(IdentityUser user, UserLoginInfo login) { string commandText = "Delete from UserLogins where UserId = @userId and LoginProvider = @loginProvider and ProviderKey = @providerKey"; Dictionary<string, object> parameters = new Dictionary<string, object>(); parameters.Add("UserId", user.Id); parameters.Add("loginProvider", login.LoginProvider); parameters.Add("providerKey", login.ProviderKey); return _database.Execute(commandText, parameters); }
/// <summary> /// Returns a list of IdentityUser instances given a user name /// </summary> /// <param name="userName">User's name</param> /// <returns></returns> public List<IdentityUser> GetUserByName(string userName) { List<IdentityUser> users = new List<IdentityUser>(); string commandText = "Select * from Users where UserName = @name"; Dictionary<string, object> parameters = new Dictionary<string, object>() { { "@name", userName } }; var rows = _database.Query(commandText, parameters); foreach(var row in rows) { IdentityUser user = new IdentityUser(); user.Id = row["Id"]; user.UserName = row["UserName"]; user.PasswordHash = string.IsNullOrEmpty(row["PasswordHash"]) ? null : row["PasswordHash"]; user.SecurityStamp = string.IsNullOrEmpty(row["SecurityStamp"]) ? null : row["SecurityStamp"]; users.Add(user); } return users; }
/// <summary> /// Returns an IdentityUser given the user's id /// </summary> /// <param name="userId">The user's id</param> /// <returns></returns> public IdentityUser GetUserById(string userId) { IdentityUser user = null; string commandText = "Select * from Users where Id = @id"; Dictionary<string, object> parameters = new Dictionary<string, object>() { { "@id", userId } }; var rows = _database.Query(commandText, parameters); if (rows != null && rows.Count == 1) { var row = rows[0]; user = new IdentityUser(); user.Id = row["Id"]; user.UserName = row["UserName"]; user.PasswordHash = string.IsNullOrEmpty(row["PasswordHash"]) ? null : row["PasswordHash"]; user.SecurityStamp = string.IsNullOrEmpty(row["SecurityStamp"]) ? null : row["SecurityStamp"]; } return user; }
/// <summary> /// Deletes a login from a user in the UserLogins table /// </summary> /// <param name="user">User to have login deleted</param> /// <param name="login">Login to be deleted from user</param> /// <returns></returns> /*public int Delete(IdentityUser user, UserLoginInfo login) { string commandText = "Delete from UserLogins where UserId = @userId and LoginProvider = @loginProvider and ProviderKey = @providerKey"; Dictionary<string, object> parameters = new Dictionary<string, object>(); parameters.Add("UserId", user.Id); parameters.Add("loginProvider", login.LoginProvider); parameters.Add("providerKey", login.ProviderKey); return _database.Execute(commandText, parameters); }*/ public int Delete(IdentityUser user, UserLoginInfo login) { var userLogin = dbSet.Where(x => x.UserId == user.Id && x.LoginProvider == login.LoginProvider && x.ProviderKey == login.LoginProvider).FirstOrDefault(); return Delete(userLogin); }
/// <summary> /// Inserts a new login in the UserLogins table /// </summary> /// <param name="user">User to have new login added</param> /// <param name="login">Login to be added</param> /// <returns></returns> /*public int Insert(IdentityUser user, UserLoginInfo login) { string commandText = "Insert into UserLogins (LoginProvider, ProviderKey, UserId) values (@loginProvider, @providerKey, @userId)"; Dictionary<string, object> parameters = new Dictionary<string, object>(); parameters.Add("loginProvider", login.LoginProvider); parameters.Add("providerKey", login.ProviderKey); parameters.Add("userId", user.Id); return _database.Execute(commandText, parameters); }*/ public int Insert(IdentityUser user, UserLoginInfo login) { var userLogin = new UserLoginTable { LoginProvider = login.LoginProvider, ProviderKey = login.ProviderKey, UserId = user.Id }; dbSet.Add(userLogin); return this.Save(); }
public async Task<ActionResult> ExternalLoginConfirmation(ExternalLoginConfirmationViewModel model, string returnUrl) { if (User.Identity.IsAuthenticated) { return RedirectToAction("Index", "Manage"); } if (ModelState.IsValid) { // Get the information about the user from the external login provider var info = await AuthenticationManager.GetExternalLoginInfoAsync(); if (info == null) { return View("ExternalLoginFailure"); } var user = new IdentityUser { UserName = model.Email, Email = model.Email }; var result = await UserManager.CreateAsync(user); if (result.Succeeded) { result = await UserManager.AddLoginAsync(user.Id, info.Login); if (result.Succeeded) { await SignInManager.SignInAsync(user, isPersistent: false, rememberBrowser: false); return RedirectToLocal(returnUrl); } } AddErrors(result); } ViewBag.ReturnUrl = returnUrl; return View(model); }
public async Task<ActionResult> Register(RegisterViewModel model) { if (ModelState.IsValid) { var user = new IdentityUser { UserName = model.Email, Email = model.Email }; var result =UserManager.Create(user, model.Password); if (result.Succeeded) { // UserRolesTableRepository _userRoleManager = new UserRolesTableRepository(new ApplicationDbContext("DefaultConnection")); var role = RoleManager.FindByName("Admin"); UserRolesRepository.Insert(user, role.Id); await SignInManager.SignInAsync(user, isPersistent: false, rememberBrowser: false); // For more information on how to enable account confirmation and password reset please visit http://go.microsoft.com/fwlink/?LinkID=320771 // Send an email with this link // string code = await UserManager.GenerateEmailConfirmationTokenAsync(user.Id); // var callbackUrl = Url.Action("ConfirmEmail", "Account", new { userId = user.Id, code = code }, protocol: Request.Url.Scheme); // await UserManager.SendEmailAsync(user.Id, "Confirm your account", "Please confirm your account by clicking <a href=\"" + callbackUrl + "\">here</a>"); return RedirectToAction("Index", "Home"); } AddErrors(result); } // If we got this far, something failed, redisplay form return View(model); }
/// <summary> /// Inserts a new user in the Users table /// </summary> /// <param name="user"></param> /// <returns></returns> public int Insert(IdentityUser user) { string commandText = "Insert into Users (UserName, Id, PasswordHash, SecurityStamp) values (@name, @id, @pwdHash, @SecStamp)"; Dictionary<string, object> parameters = new Dictionary<string, object>(); parameters.Add("@name", user.UserName); parameters.Add("@id", user.Id); parameters.Add("@pwdHash", user.PasswordHash); parameters.Add("@SecStamp", user.SecurityStamp); return _database.Execute(commandText, parameters); }
/// <summary> /// Updates a user in the Users table /// </summary> /// <param name="user"></param> /// <returns></returns> public int Update(IdentityUser user) { string commandText = "Update Users set UserName = @userName, PasswordHash = @pswHash, SecurityStamp = @secStamp WHERE Id = @userId"; Dictionary<string, object> parameters = new Dictionary<string, object>(); parameters.Add("@userName", user.UserName); parameters.Add("@pswHash", user.PasswordHash); parameters.Add("@secStamp", user.SecurityStamp); parameters.Add("@userId", user.Id); return _database.Execute(commandText, parameters); }
/// <summary> /// Deletes a user from the Users table /// </summary> /// <param name="user"></param> /// <returns></returns> public int Delete(IdentityUser user) { return Delete(user.Id); }
/// <summary> /// Deletes a claim from a user /// </summary> /// <param name="user">The user to have a claim deleted</param> /// <param name="claim">A claim to be deleted from user</param> /// <returns></returns> /* public int Delete(IdentityUser user, Claim claim) { string commandText = "Delete from UserClaims where UserId = @userId and @ClaimValue = @value and ClaimType = @type"; Dictionary<string, object> parameters = new Dictionary<string, object>(); parameters.Add("userId", user.Id); parameters.Add("value", claim.Value); parameters.Add("type", claim.Type); return _database.Execute(commandText, parameters); }*/ public int Delete(IdentityUser user, Claim claim) { var userClaim = dbSet.Where(x => x.UserId == user.Id && x.ClaimValue == claim.Value && x.ClaimType == claim.Type).FirstOrDefault(); return Delete(userClaim); }
/// <summary> /// Inserts a new role for a user in the UserRoles table /// </summary> /// <param name="user">The User</param> /// <param name="roleId">The Role's id</param> /// <returns></returns> /*public int Insert(IdentityUser user, string roleId) { string commandText = "Insert into UserRoles (UserId, RoleId) values (@userId, @roleId)"; Dictionary<string, object> parameters = new Dictionary<string, object>(); parameters.Add("userId", user.Id); parameters.Add("roleId", roleId); return _database.Execute(commandText, parameters); }*/ public int Insert(IdentityUser user, string roleId) { var userRole = new UserRolesTable { UserId = user.Id, RoleId = roleId }; dbSet.Add(userRole); return this.Save(); }