私はasp.netとmvcが本当に新しいので、少し失われています。asp.net MVCとOpenIDを使用してフォルダ全体を(認証付きで)簡単に保護する方法
私はアプリケーションでこのTutorialを使用してOpenIDでログインすることができます。
しかし、私はちょうど設定セッション[「管理者は」] = trueの場合はわからないんだけど、これまでの私のコードは次のようなもので、従うべき正しい道である:
switch (openid.Response.Status)
{
case AuthenticationStatus.Authenticated:
if (openid.Response.ClaimedIdentifier.ToString() == Settings.Default.AdminClaimedIdentifier)
Session["Admin"] = true;
FormsAuthentication.RedirectFromLoginPage(openid.Response.ClaimedIdentifier, false);
break;
...
}
私がしようとしているアプリケーション今は1人の管理者しか必要とせず、この管理者のOpenIDを設定に入れるのはとても簡単だとわかりました。
基本的には、設定にAdminのOpenIDが1つあり、その認証に基づいてフォルダ全体が保護されているため、その中のすべてのアクションとそのサブフォルダにはAdmin権限が必要です。〜/ Admin/whatever/edit/1は認証が必要です。
この種の認証を行うには、最もシンプルでクリーンな方法がありますか?
許可メカニズムと組み合わせない限り、これは機能しません。 [Authorize]は動作します。つまり、認証されたユーザーを許可します。[Authorize(Roles = "admin")]は上記のコードでは動作しません。 – veggerby