いくつかの MVC3 機能を既存の WebForms アプリケーションに混在させようとしています。私はいくつかのガイドに従い、認証部分を除いてすべてをセットアップして機能させました。既存のアプリケーションは<deny users="*" />
ルートの web.config にあり、各サブフォルダーには、特定のロール内のページへのアクセスを許可する独自の web.config があります。
私の新しい理解は、このスタイルのコントローラーでは使用できない/使用すべきではないということであり、Authorize
代わりに属性を使用する必要があります。テスト " HomeController
" クラスを[Authorize(Roles="AdminRole")]
で装飾しましたが、ページを表示しようとすると「アクセスが拒否されました」というページが表示されます。
ルート web.config を言うように変更すると<allow users="*" />
、ページが機能します。これは、コントローラーに追加した属性は機能しているが、ルートの web.config 設定が優先されているということですか? サイトは十分に確立されており、MVC を追加して操作しようとしているだけなので、既存の認証機能を台無しにしたくありません。何か不足していますか?あなたが提供できる洞察に感謝します。