フォーム認証、AuthorizeAttribute、および 302 リダイレクト ループでクレイジーな問題が発生しています。何が起こっているのかを知る必要があります。フォーム認証と AuthorizeAttribute をデバッグできる方法はありますか?
重要な場合に備えて、もう少し詳細を示します。
カスタム メンバーシップ プロバイダーとロール プロバイダーを使用しています。正しいメソッドを実装し、カスタム データベース テーブルからユーザー/ロールを読み取っています。
web.config
カスタムプロバイダーを指すために、次のものがあります。<membership defaultProvider="MyMembershipProvider"> <providers> <clear /> <add name="MyMembershipProvider" type="Domain.Entities.Security.MyMembershipProvider" connectionStringName="MyDB" MinRequiredPasswordLength="8" MaxInvalidPasswordAttempts="5" MinRequiredNonAlphanumericCharacters="0" applicationName="My App Name" /> </providers> </membership> <profile enabled="false"> <providers> <clear /> </providers> </profile> <roleManager enabled="true" defaultProvider="MyRoleProvider" cookieTimeout="2800" cookieSlidingExpiration="true" cacheRolesInCookie="true"> <providers> <clear /> <add name="MyRoleProvider" type="Domain.Entities.Security.MyRoleProvider" connectionStringName="MyDB" applicationName="/" /> </providers> </roleManager>
コントローラー/アクションの一部が「開いています」。それらのいくつかには、「Authorize[Roles="admin"]」などがあります。
何も起こらずに何時間もアプリケーションで作業できることもあります。ログインした直後に 302 リダイレクト ループに遭遇し、他のページに移動しようとすることがあります。それが起こると、時々 302 リダイレクト ループに入らない限り、最上位のパスに入ることができません。
指示、指針、提案は大歓迎です。