0

MVC3 アプリケーションでユーザーとロールにカスタム メンバーシップを使用しています。カスタム ユーザー/ロール クラスがあります。そして、このために RoleProvider クラスと MembershipProvider クラスを拡張しました。

アプリケーションで時々ロールが失われ、Authorize [Roles='xyz'] 属性が正しく機能せず、アカウント/ログオンにリダイレクトしようとするケースがあるようです。ユーザーがアプリケーションにログインするとき、私がすることは

if (ModelState.IsValid)
            {
                if (MyCustomSecurity.Login(model.UserName, model.Password, model.RememberMe))
                {
                    FormsAuthentication.SetAuthCookie(model.UserName, model.RememberMe);
--other stuff
}

MyCustomSecurity.Login メソッドは基本的にデータベース内のユーザーを検索し、有効な場合は真の値を返します。

アプリケーションで問題をデバッグしようとしたときに、以下のリンクに遭遇しました

http://www.codeproject.com/Articles/578374/AplusBeginner-27splusTutorialplusonplusCustomplusF ASP.NET MVC フォーム認証 + Authorize 属性 + シンプルなロール

このリンクに記載されているように、 FormsAuthentication_OnAuthenticate() もオーバーライドする必要がありますか? それとも、RoleProvider 拡張クラスがこれを処理しますか?
ありがとうございました

4

1 に答える 1