我在我的 ASP.NET MVC 应用程序中使用 OpenId。效果很好:) 一旦我有了用户的 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 类相比?)