Когда я нажимаю кнопку« удалить », он может удалить все Информация о пользователе из моей таблицы «UserDetail» в моем «JobPost.mdf», она также удаляет соответствующие «aspnet_Users» и «aspnet_Membership», но «UserInRole» по-прежнему содержит это имя пользователя. Несмотря на то, что я указал код: Membership.DeleteUser (UserName, true);
, я думал, что true для данных, связанных с bool deleteall, но на самом деле это не удаляет userInRole. Поэтому в следующий раз, когда пользователь зарегистрируется с тем же именем, он автоматически получит право на роль «admin».
Я храню эту страницу «deleteUser» в защищенной папке «admin».
Как решить эту проблему? Почему Membership.DeleteUser (UserName, true) не удаляет 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();
}
}
Мой web.config внутри защищенной папки администратора:
<configuration xmlns="http://schemas.microsoft.com/.NetConfiguration/v2.0">
<system.web>
<authorization>
<allow roles="Administrators" />
<deny users="*" />
</authorization>
</system.web>
</configuration>