visual usuario tutorial studio net custom contraseƱa asp asp.net asp.net-membership

asp.net - usuario - membership visual studio 2017



Cambio de nombre de usuario de ASP.NET (1)

El enlace de cptScarlet era bueno, sin embargo, desprecio el uso de procedimientos almacenados si no tengo que hacerlo y estoy a favor de Entity Framework siempre que sea posible. Esto es lo que hice para cambiar el nombre de usuario, utilizando EF 4.0 y .NET 4.0:

  1. Haga clic con el botón derecho en el proyecto -> Agregar nuevo elemento -> Modelo de datos de entidad ADO.NET
  2. Dale un nombre propio, elegí "MembershipModel.edmx" y hago clic en Agregar
  3. Seleccione Generar desde la base de datos y haga clic en Siguiente
  4. Agregue la conexión a su base de datos ''aspnetdb'' (la base de datos de miembros de ASP.NET)
  5. Dale un nombre propio, elegí "MembershipEntities"
  6. Haga clic en Siguiente
  7. Profundizar en tablas y seleccionar aspnet_Users
  8. Cambie el espacio de nombres del modelo a MembershipModel
  9. Haga clic en Finalizar

Ahora puede agregar código para crear el contexto del objeto EF y modificar la base de datos:

public void ChangeUserName(string currentUserName, string newUserName) { using (var context = new MembershipEntities()) { // Get the membership record from the database var currentUserNameLowered = currentUserName.ToLower(); var membershipUser = context.aspnet_Users .Where(u => u.LoweredUserName == currentUserNameLowered) .FirstOrDefault(); if (membershipUser != null) { // Ensure that the new user name is not already being used string newUserNameLowered = newUserName.ToLower(); if (!context.aspnet_Users.Any(u => u.LoweredUserName == newUserNameLowered)) { membershipUser.UserName = newUserName; membershipUser.LoweredUserName = newUserNameLowered; context.SaveChanges(); } } } }

Nota: No tomé en cuenta la ID de la aplicación en mi código. Normalmente, solo tengo una aplicación que usa la base de datos de membresía ASP.NET, por lo que si tiene varias aplicaciones, deberá tenerlo en cuenta.

Tengo un sitio asp.net que utiliza el proveedor de membresía ASP.net. Cada comentario, entrada, etc. en la base de datos es seguido por el ID de usuario.

Como MS no proporciona una forma de cambiar el nombre de usuario, he encontrado el NOMBRE DE usuario en la tabla de "usuarios" en la base de datos y solo hay 1 lugar donde aparece el nombre de usuario.

Mi pregunta es,

¿Es seguro proporcionar una página de "editar perfil" donde el usuario puede editar su propio nombre de usuario? Por supuesto, yo manejaría este cambio en segundo plano al cambiar directamente el valor de "nombre de usuario" en la base de datos.

¿Hay alguna desventaja a esto? He creado y modificado algunas cuentas de prueba y parece estar bien, solo me pregunto si hay algo negativo conocido antes de ponerlo en producción.