Пользователь членства не найден после изменения имени пользователя

Помогите пожалуйста, если знаете как.

Я использую членство, но разрешаю изменить имя пользователя указанного пользователя. У меня был пользователь с именем «Клиент», привязанный к роли «Клиент», а затем его имя пользователя было изменено на 123. Затем я пытаюсь что-то сделать, чтобы получить роли этого пользователя и получить ошибку или пустой результат.

Roles.RemoveUserFromRoles(UserName, Roles.GetAllRoles()); // get exception - user 123 does not exist
String[] userRoles = Roles.GetRolesForUser(UserName); // returns String[]{0}

Затем я зашел в панель диспетчера IIS и увидел, что выбранная роль все еще переименовала пользователя, но переименованный пользователь не был добавлен ни к одной роли. Таблица БД UserInRoles (которая устанавливает связь между пользователем и ролью) имеет соответствующую запись, и все идентификаторы пользователей и ролей верны.

Поэтому я не понимаю, если все ссылки в БД связаны внутри идентификаторов, почему после того, как я изменил имя пользователя, эта ссылка была сломана?

Буду признателен за любую помощь, советы и информацию.

Спасибо, Арт


person Anonymous    schedule 15.01.2011    source источник


Ответы (1)


Что ж, членство отстой - это ответ, который я больше никогда не буду использовать ни в одном проекте. Это ответ.

Обходной путь для вопроса выше - создать свои собственные методы для редактирования пользователя по идентификатору.

person Anonymous    schedule 09.02.2011