/ebx-authentication サーブレットは、EBX®でのユーザー認証を処理する中心的なポイントです。その役割は次のとおりです。
さらに、構成に応じて、次のこともできます。
ログイン画面を表示してログインプロセスを処理します。
権限のないユーザーをカスタムログイン画面にリダイレクトします。
ログアウトしているユーザーをカスタム終了ページにリダイレクトします。
/ebx-authentication サーブレットはユーザーの認証に成功すると、認証情報を含むトークンを作成し、それをセッション Cookie に保存します。
これは、認証がブラウザーのすべてのタブ間で共有されることを意味します。
ユーザーがブラウザーのタブですでに認証されており、別のタブで EBX® を開いた場合、再度認証を求められることはありません。
同じブラウザーの異なるタブに異なるユーザーでログインすることはできません。
トークンを含む Cookie には次のプロパティがあります。
| カスタマイズできません。ブラウザの JavaScript コードでは Cookie を読み取ることはできません。 |
|
|
|
|
デフォルトでは、EBX® はビルトインのディレクトリとログインページを使用します。ビルトインのディレクトリをカスタムディレクトリに置き換えることを強くお勧めします。
EBX® にはビルトインのディレクトリが用意されていますが、これを置き換えることを強くお勧めします。
Directory
をオーバーライドするクラスを作成します。
DirectoryFactory
をオーバーライドするクラスを作成します。
ebx.properties
のプロパティ ebx.directory.factory
を使用して、ファクトリーを宣言します。
EBX® にはビルトインのログインページが用意されていますが、これを置き換えることも可能です。これを行うには、ebx.properties
のプロパティ ebx.security.loginPage.url
を使用してカスタムログインページを宣言します。
ユーザーの認証は、カスタムログインページに依存します。ユーザーが認証されると、/ebx-authentication/login
ページにリダイレクトされます。次に、EBX® は認可トークンを作成する前に Directory.authenticateUserFromHttpRequest
メソッドを呼び出します。これが機能するには次の点が必要です。
/ebx-authentication/login
を指すリクエストには、Cookie、HTTP ヘッダー、クエリパラメーターなど、ユーザーを認証するのに十分な情報が含まれている必要があります。
ディレクトリはオーバーライドする必要があり (ディレクトリのカスタマイズを参照)、Directory.authenticateUserFromHttpRequest
メソッドの実装は、受信リクエストから情報を読み取る必要があります。適切な UserReference
を返すようにします。
EBX® がユーザーをカスタムログインページにリダイレクトする場合、resume
クエリパラメーターも URL に追加します。この resume
クエリパラメーターには、/ebx-authentication/login
を指す URL といくつかの追加パラメーターが含まれており、ユーザーを /ebx-authentication/login
にリダイレクトするために優先的に使用する必要があります。