Расширение RoleProvider GetRolesForUser () - PullRequest
1 голос
/ 03 июня 2010

Метод GetRolesForUser() в RoleProvider берет имя пользователя для входа и возвращает список ролей для этого пользователя. Но в моем приложении этого недостаточно, мне нужно больше информации, чтобы получить роли пользователя.

Как я могу получить эту дополнительную информацию в методе?

У меня это в Session, но я обнаружил, что Session недоступно в RoleProvider.

Я хотел добавить эту дополнительную информацию в некоторый класс, который расширяет MembershipUser, предполагая, что я могу получить ее внутри RoleProvider. Но я не знаю, как создать CustomMembershipUser и сделать его частью MembershipProvider. Это вообще возможно?

Самый простой выход был бы с использованием куки , но я стараюсь держаться подальше от него.

Ответы [ 3 ]

2 голосов
/ 26 мая 2011

Решение этой проблемы: использование файла cookie для хранения любой дополнительной информации, необходимой для RoleProvider.

1 голос
/ 09 декабря 2011

Вы можете хранить и извлекать вещи в массиве HttpContext.Current.Items, который доступен в RoleProvider, в отличие от сеанса.

0 голосов
/ 18 марта 2011

Я знаю, что это старый вопрос, но я просто хотел предложить использовать определенные роли для каждой службы. Таким образом, вместо того, чтобы иметь что-то вроде администратора, менеджера и пользователя, у вас будут Service1_Administrator, Service2_Administrator, Service1_Manager, Service2_Manager, Service1_User, Service2_User и т. Д.

Как ты решил это?

...