powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / MVC - Как удалить пользователя из базы регистрации?
9 сообщений из 9, страница 1 из 1
MVC - Как удалить пользователя из базы регистрации?
    #39410234
ValGer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день!
Разбираюсь, хоть и с натугой, с регистрацией пользователей на сайте (MVC4 VStudio 2012 - SimpleMembershipProvider ). Осталось одна непонятная вещь - как удалить ненужного пользователя из базы. В WebSecurity такого метода просто нет. Единственно, что пришло в голову - это рихтовать саму базу в SQL-браузере, установив связи между таблицами с каскадным удалением связанных строк. В частности, установил изначально отсутствующую связь между таблицей UserProfile и таблицей webpages_Membership (см. рисунок) Работает, но как-то это неизящно. Как быть, подскажите!
С уважением ВВГ
...
Рейтинг: 0 / 0
MVC - Как удалить пользователя из базы регистрации?
    #39410239
Фотография big-duke
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ValGer,

SimpleMembershipProvider.DeleteAccount
SimpleMembershipProvider.DeleteUser
...
Рейтинг: 0 / 0
MVC - Как удалить пользователя из базы регистрации?
    #39410401
ValGer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
big-dukeValGer,

SimpleMembershipProvider.DeleteAccount
SimpleMembershipProvider.DeleteUser

Спасибо за направление поисков, но напрямую это не подходит.
Я попробовал так:
Код: c#
1.
2.
SimpleMembershipProvider smp = new SimpleMembershipProvider();
smp.DeleteUser(UserName, true);



Но тоже безуспешно (см. рисунок)
Сообщение просто непонятно, поскольку база уже инициализирована. В папке Filters имеется файл InitializeSimpleMembershipAttribute.cs, в котором и производится создание и инициализация.
Что посоветуете?
С уважением ВВГ
...
Рейтинг: 0 / 0
MVC - Как удалить пользователя из базы регистрации?
    #39410711
ValGer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
big-dukeValGer,

SimpleMembershipProvider.DeleteAccount
SimpleMembershipProvider.DeleteUser

Ну, вроде нашёл как это делается на stackoverflow
( http://stackoverflow.com/questions/13391166/how-to-delete-a-simplemembership-user )

Код: c#
1.
2.
((SimpleMembershipProvider)Membership.Provider).DeleteAccount(UserName);    // deletes record from webpages_Membership table
((SimpleMembershipProvider)Membership.Provider).DeleteUser(UserName, true); // deletes record from UserProfile table



Работает!
Почему об этом не написать в документации - непонятно!
С уважением ВВГ
...
Рейтинг: 0 / 0
MVC - Как удалить пользователя из базы регистрации?
    #39412273
Rock Amadeus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Надо из таблицы мембершипов и таблицы юзеров удалить запись по ключу юзер айди.
...
Рейтинг: 0 / 0
MVC - Как удалить пользователя из базы регистрации?
    #39412277
Rock Amadeus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А, уже найдено... Просто я руками удалял через SSMS, когда игрался.
...
Рейтинг: 0 / 0
MVC - Как удалить пользователя из базы регистрации?
    #39413003
ValGer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ValGerbig-dukeValGer,

SimpleMembershipProvider.DeleteAccount
SimpleMembershipProvider.DeleteUser

Ну, вроде нашёл как это делается на stackoverflow
( http://stackoverflow.com/questions/13391166/how-to-delete-a-simplemembership-user )

Код: c#
1.
2.
((SimpleMembershipProvider)Membership.Provider).DeleteAccount(UserName);    // deletes record from webpages_Membership table
((SimpleMembershipProvider)Membership.Provider).DeleteUser(UserName, true); // deletes record from UserProfile table



Работает!
Почему об этом не написать в документации - непонятно!
С уважением ВВГ

Тут обнаружился ещё один нюанс. Поскольку роли и пользователи в ролях связаны реляционной связью, НО без каскадного удаления роли пользователя при удалении пользователя, то начинать процесс нужно именно с удаления роли пользователя (таблица webpages_UserыInRoles), а уже потом всё остальное. Иначе выскакивает исключение SQL.
Код примерно такой:

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
        
        [Authorize]
        public ActionResult DeleteUser(string UserName)
        {
            var roles = (SimpleRoleProvider)Roles.Provider;
            string[] usr = new string[] { UserName };
            string[] qRoles = roles.GetRolesForUser(UserName);  // Узнаём в каких ролях присутствует пользователь
            roles.RemoveUsersFromRoles(usr, qRoles);    // Вначале удаляем роль пользователя
            ((SimpleMembershipProvider)Membership.Provider).DeleteAccount(UserName);    // deletes record from webpages_Membership table
            ((SimpleMembershipProvider)Membership.Provider).DeleteUser(UserName, true); // deletes record from UserProfile table

            WebSecurity.Logout();
            return RedirectToAction("Index", "Home");
        }
...
Рейтинг: 0 / 0
MVC - Как удалить пользователя из базы регистрации?
    #39413022
Rock Amadeus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ValGer,

а зачем роль-то удалять? Может другой пользователь завестись с этой ролью. Роль тут от пользователя не зависит.
...
Рейтинг: 0 / 0
MVC - Как удалить пользователя из базы регистрации?
    #39413023
Rock Amadeus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нужно удалить запись в таблице UsersInRoles, когад юзера удаляешь, а из Roles не надо.
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / MVC - Как удалить пользователя из базы регистрации?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]