Fessの管理画面にある「全般」設定ページで設定できる項目を大幅に増やしました。これまでsystem.propertiesファイルを直接編集する必要があった設定を、管理画面から変更できるようにしています。
背景
Fessでは、system.propertiesで多くの設定項目を管理していますが、すべてが管理画面から設定できるわけではありませんでした。設定を変更するためにサーバー上のファイルを直接編集する必要があり、運用の手間が発生していました。今回、管理画面の全般設定に45項目を追加し、ほぼすべての設定をブラウザから変更できるようにしました。
追加した設定項目
各セクションに追加した項目は以下の通りです。
システム設定
- 検索ファイルプロキシ: ファイルプロキシの有効/無効
- ブラウザロケール使用: 検索時にブラウザのロケールを使用するかどうか
- SSOタイプ: SSO認証方式の選択(none、oic、saml、spnego、entraid)
クローラー設定
- User Agent: クローリング時に使用するユーザーエージェント文字列
LDAP設定
- Security Authentication: LDAP認証タイプ
- Initial Context Factory: LDAPコンテキストファクトリのクラス名
通知設定
- 詳細検索ページ通知: 詳細検索ページに表示する通知メッセージ
- Slack Webhook URL: Slack通知用のWebhook URL
- Google Chat Webhook URL: Google Chat通知用のWebhook URL
OpenID Connect設定(新規セクション)
クライアントID、クライアントシークレット、認証サーバーURL、トークンサーバーURL、リダイレクトURL、スコープ、ベースURL、デフォルトグループ、デフォルトロールの9項目を設定できます。
SAML設定(新規セクション)
SPベースURL、グループ属性名、ロール属性名、デフォルトグループ、デフォルトロールの5項目を設定できます。
SPNEGO設定(新規セクション)
Kerberos設定ファイルパス、ログイン設定ファイルパス、クライアント/サーバーモジュール名、事前認証のユーザー名/パスワード、Basic認証やNTLMプロンプトの有効/無効、localhost許可、委任許可、除外ディレクトリの12項目を設定できます。
Entra ID設定(新規セクション)
クライアントID、クライアントシークレット、テナントID、Authority URL、Reply URL、State TTL、デフォルトグループ、デフォルトロール、パーミッションフィールド、ドメインサービス利用の10項目を設定できます。
セキュリティへの配慮
クライアントシークレットやパスワードなどの機密情報は、管理画面上ではマスク表示(**********)されます。値が設定済みかどうかは確認でき、新しい値を入力して更新することも可能ですが、現在の値がそのまま表示されることはありません。
まとめ
今回の変更により、SSO関連の設定を含む45項目が管理画面から設定可能になりました。サーバー上のファイルを直接編集する必要がなくなるため、運用の効率化が期待できます。