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 属性の作成に関するこの Web 投稿を偶然見つけました。セッションに存在するログイン ユーザーの役割をどのようにチェックしているのかに注目してください。また、役割は列挙です:)これはかなりファンキーです、私に尋ねると:)素晴らしくてシンプルです。
考え (完全に吹き飛ばされた RoleProvider クラスと比較して?)