2016-02-12 10 views
8

私は、AEMが認証成功後に "login-token"と呼ばれるクッキーを作成する方法を知っています。CQはどのように各要求を認証しますか?

私の質問は、AEMが各リクエストでこのクッキーを検証する方法です。要求を傍受してCookieを検証するためのフィルタはありますか?そうでない場合、AEMがスリング認証ハンドラを再び呼び出す方法は?

私はここhttp://host:port/system/console/status-slingfilter

を見つけることができませんでした。この

答えて

5

認証は、フィルタを介して行われていない明確にするために私を助けてください。フィルター処理の前に認証が行われます。

リクエストが到着するとすぐに、OSGi HttpServiceはサーブレット/リソースに関連付けられたHttpContextのhandleSecurityを呼び出します。スリングの場合、これはSlingMainServlet .handleSecurityにコールされ、SlingAuthenticator.authenticationを呼び出します。

SlingAuthenticatorは、要求のためのauthenticationHandlerを選択し、認証コールを転送します。

認証ハンドラはextractCredentialsクッキー(またはヘッダまたはセッション)から認証情報を読み取るための責任がある(認証方式、例えばAuthorizationヘッダベースの認証、セッションベースの認証やクッキーベースの認証に基づいて)方法を実現します。認証が失敗するかのいずれか(匿名が設定ごとに許可されている場合)、またはrequestCredentialsがメソッドが呼び出された匿名セッションが取得された場合

これは、レンダリング(またはにリダイレクト)ログインフォームを考えている、認証成功後AuthenticationInfoを返します。 handleSecurityの実行後、HttpServiceはリクエストを終了するか(handleSecurityがfalseを返した場合)、SlingMainServlet.serviceを呼び出して、スリングリクエスト処理のエントリポイントになります。

リクエストレベルフィルタはそれ以降に処理されます。著者のインスタンスでhttps://sling.apache.org/documentation/the-sling-engine/filters.html

+0

を参照すると、すべてのリクエストはSlingMainServletを経由しますか? –

+0

私は、作成者と公開インスタンスの両方で、すべてのリクエストがSlingMainServletを経由することを意味しますか? –

+0

はい。著者や出版は問題ではありません。 – awd

関連する問題