Я использую OpenId в своем приложении ASP.NET MVC. Прекрасно работает :) После того, как у меня есть идентификатор OpenId пользователя (после того, как он прошел аутентификацию и вернулся на мой сайт), я загружаю данные пользователей (чтобы получить отображаемое имя и т. Д.).
Отсюда я также знаю их роли.
Я не уверен, как назначить роль текущему Forms.Identity.
вот мой код ...
// Load User...
var user = GetUsers().ByOpenIdIdentifier("blahblahblahbl....");
// Here means we have a user AND all the roles, for that user.
// Forms Authenticate and Redirect.
FormsAuthentication.SetAuthCookie(user.DisplayName, true);
return RedirectToAction("Index", "Home");
Как я могу изменить этот код, чтобы аутентифицированному пользователю также были назначены его роли?
Обновление
Я наткнулся на это веб-сообщение о создании пользовательского атрибута Authorize. Обратите внимание, как они проверяют роль вошедших в систему пользователей, которая существует в сеансе? Кроме того, роли являются перечислением :) Это довольно забавно, если вы спросите меня :) Красиво и просто.
Мысли (по сравнению с полноценным классом RoleProvider?)