/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 にリダイレクトするために優先的に使用する必要があります。