認証と承認を探索
このセクションでは、私が説明し、ASP.NETの認証と認可の作品や操作機構を示し、その後、刀ミドルウェアおよびASP.NETアイデンティティ認証を使用する方法について説明します。
1.概要ASP.NETフォーム認証と承認のメカニズム
認証を言えば、おそらく我々は触れ認証(フォームベース認証)フォーム。ASP.NETフォーム認証と承認のメカニズムを理解するためのより良いために、私は数年もASP.NETパイプラインとして知られてHttpModuleをに登録されているのHttpApplication 19回のイベントを示す古地図、前に出て移動しました(パイプライン)イベント。リクエストがターン・トリガーこれらのイベントASP.NETランタイムでは、サーバーに到着したときに人気が、話します。
HttpApplicationオブジェクトはAsp.netヘルプたちによって作成され、それは要求を処理中に、ターゲットasp.netに重要です。HttpApplication処理パイプライン処理により、処理ステップを複数のステップに分割されている拡張を容易にするために、各ステップは、処理の固定された順序でこれらのイベントがトリガされ、イベントの形でプログラマに露出され、プログラマの準備を経て拡張された処理方法は、処理要求を定義することができます。
HttpApplicationのために、ASP.NET 4.0に、19回の標準的なイベントを提供しています。
1.BeginRequest:asp.net要求を処理する最初のイベントが開始は、治療の開始を示します。
2.AuthenticateRequest:検証要求、典型的には、ユーザ情報取得要求のために。
3.PostAuthenticateRequest:ユーザーは、要求された情報を取得する必要があります。
4.AuthorizeRequest:一般ユーザの要求を確認するために使用される許可は、許可を得ることです。
5.PostAuthorizeRequest:ユーザの要求が許可されています。
6.ResolveRequestCache:取得処理の結果は、以前に処理したキャッシュは、以前にキャッシュされた場合、その要求のさらなる処理は、直接のリターンは、結果をキャッシュしません。
7.PostResolveRequestCache:それはキャッシュの処理を完了しました。
8.PostMapRequestHandlerは:ハンドラ・オブジェクト要求を作成するためのユーザの要求を持っています。
9.AcquireRequestState:ステータス取得要求、通常のセッション
10.PostAcquireRequestStateは:セッションを受けています
11.PreRequestHandlerExecute:ハンドラを実行する準備ができて。
12.PostRequestHandlerExecute:ハンドラが実行されました
13.ReleaseRequestState:リクエストのリリースステータス。
14.PostReleaseRequestState:それは要求のステータスをリリースしました。
15.UpdateRequestCache:キャッシュを更新。
16.PostUpdateRequestCache:キャッシュが更新されました。
17.LogRequest:操作要求のログ
18.PostLogRequest:ログ要求された操作が完了しました。
19.EndRequest:要求の処理が完了しています。
HttpApplicationイベント処理パイプラインの簡単な記述を参照してください:https://www.cnblogs.com/wfy680/p/12331836.html
認証は、ユーザ提供の資格情報(クレデンシャル)ことを確認します。確認したらクッキーは一意の識別子を生成し、それをブラウザに出力し、ブラウザからの最初の要求は、このクッキーが含まれています。
ASP.NETアプリケーションでは、我々は知っているFormsAuthenticationModule意志のHttpApplicationパイプライン(パイプライン)イベントたAuthenticateRequest ASP.NETランタイムによってトリガーされるASP.NETパイプラインを通じて要求は、このイベントに、それが検証されるレジスタを、そしてクッキーは、対応するユーザーオブジェクトを解決するために、それはオブジェクトその実装IPrincipalインタフェースです。PostAuthenticateRequest イベントたAuthenticateRequest イベントがトリガされた後、ユーザーはIDチェックを持っていることを示すが完了すると、ユーザーがチェックすることができるのHttpContext ユーザー獲得のプロパティとHttpContext.User.Identity.IsAuthenticated Trueにプロパティを。
認証が「オープン」と見なされている場合は、所有者が家の中にあなたを招待し、それはあなたが、あなたの活動だけ勉強して寝室や書斎に行くことができるという意味ではありません-許可されています。ではPostAuthenticateRequestトリガーイベントの後、トリガーAuthorizeRequestの イベント、それをUrlAuthorizationModuleは、 登録された(外来挿入いずれかUrlAuthorizationModuleとFormsAuthenticationModuleは、ASP.NETとIISの間の密結合関係に反映されているIISの.configファイルのレベルで見つけることができます上記)されます。このイベントでは、URLは、web.configファイルをに基づいて行われます、要求の承認 役割キムは次のように付与されて構成されたノードの許可と、すべての管理者のメンバーへのアクセス権を持っている、とジョンと匿名ユーザーのアクセスを拒否しました。
- <承認>
- <許可ユーザー= "キム" />
- </役割= "管理者" を許可します>
- <ユーザーを拒否= "ジョン" />
- <=ユーザーを拒否 "?" />
- </承認>
私たちは、データのセキュリティを確保し、認証と承認によってアクセスが制限されたアプリケーションの感知領域を、することができます。