3


FormsAuthenticationModuleは、暗号化された Cookie を使用してユーザーとロールの情報を追跡するために使用されます。

しかし、このモジュールには、Web ページを要求しているユーザーがフォーム認証チケットを持っているかどうかを実際に検出し、そうでない場合はユーザーをログイン ページにリダイレクトするコードも含まれてます?


ありがとう

4

2 に答える 2

3

ドキュメントによると、FormsAuthenticationModuleのみ

フォーム認証が有効な場合に、ASP.NET アプリケーションのユーザーの ID を設定します。

ただし、他の場所を見回すと (これを指摘してくれた Erv に感謝します)、フォーム認証モジュールは、アプリケーションの EndRequest イベントにフックすることによって、ユーザーをログイン ページにリダイレクトする役割を果たします

これは、ロールとは何の関係もないことを意味します - ロールはRoleManagerModuleによって処理されます

そのため、UrlAuthorizationModuleは認証モジュール (フォーム、Passport /Live、Windowsなど) とロール プロバイダー (適切なロール モジュールを使用して) を使用してアクセスを強制し、実際にユーザーをチェックしているCheckUrlAccessForPrincipleの場合アクセス権が false を返し、401 エラーが発生し、これが処理のために ASP.NET に返されます。

その後、アプリは EndRequest イベントを発生させます。これは FormsAuthenticationModule によって取得され、最終的にユーザーを web.config の Forms auth セクションで定義されたデフォルトのログイン ページにリダイレクトします。

于 2009-05-13T23:43:31.290 に答える