おはようございます。MVC 4データベースに格納されているアプリケーション、Windows認証、カスタムロール
私のMVC 4アプリケーションには次の要件があります。
- Windows認証情報を使用した認証(自動)。
- 一度認証された特定のページ/ビュー/コントローラは、データベーステーブルのセットで定義されているロールに基づいて制限されます。
ここでEDIT
は私がこれまでにしようとしているものです:
- は
ファイルの私のGlobal.asaxでこれを入れてWindows認証
を使用するために私のMVCアプリケーションを設定しますif(HttpContext.Current.User!= null) { string [] roles = {"testmyrole"}; GenericPrincipalプリンシパル= new GenericPrincipal(HttpContext.Current.User.Identity、roles); Thread.CurrentPrincipal = HttpContext.Current.User = principal; bool test = User.IsInRole( "testmyrole"); }
しかしHttpContext.Current.Userは常にnullです...
文字列[]の役割は、最終的にデータベースを呼び出すことによって移入されます...ハードコードはちょうどテストするためのものです今。
どのようなアイデアを私のMVCアプリケーションに配置することができますので、どのようなビューでもこのコードが実行されるので、私は他のコントローラで次のコードを使用してロールを設定します。
[Authorize(Roles ="testmyrole")]
public ActionResult Index()
{
... do other fun stuff here
}
ありがとうございます。
Corey
こんにちは...ちょっとしたアドバイス。誰かが最初に何かをしようとしない限り、あなたは "詳細な"解決策を得るのに苦労します。 – Wheels73