Cuando hago clic en el botón "eliminar", puede eliminar toda la información de usuario de mi tabla "UserDetail" en mi "JobPost.mdf", también elimina la "aspnet_Users" correspondiente & "aspnet_Membership", pero el "UserInRole" todavía contiene ese nombre de usuario. Aunque especifiqué el Código: Membership.DeleteUser (UserName, true);Membership.DeleteUser (UserName, true) no quita usuario de la función
Creo que es verdad para los datos relacionados con bool deleteall, pero realmente no elimina el userInRole. Así que la próxima vez que el usuario se registre con el mismo nombre, automáticamente obtendrá el rol de "administrador".
Esta página "deleteUser" la guardo dentro de una carpeta "admin" protegida.
¿Cómo resolverlo? ¿Por qué Membership.DeleteUser (UserName, true) no elimina UserInRole?
protected void GridView2_RowCommand(object sender, GridViewCommandEventArgs e)
{
if (e.CommandName == "Delete")
{
string UserName = e.CommandArgument.ToString();
Membership.DeleteUser(UserName, true);
JobPostDataContext db = new JobPostDataContext();
var query = from u in db.UserDetails
where u.UserName == UserName
select u;
foreach (var item in query)
{
db.UserDetails.DeleteOnSubmit(item);
}
db.SubmitChanges();
FormsAuthentication.SignOut();
}
}
Mi web.config dentro de la carpeta de administración protegida:
<configuration xmlns="http://schemas.microsoft.com/.NetConfiguration/v2.0">
<system.web>
<authorization>
<allow roles="Administrators" />
<deny users="*" />
</authorization>
</system.web>
</configuration>
Parece una mezcla de tablas personalizadas y tablas 'SqlMembershipProvider'. ¿Exactamente a qué se refiere 'UserInRole'? (Todavía contiene el 'Nombre de usuario'). –