デフォルトログオン
最終更新日: 2022年10月31日
R8 | R9
デフォルトログオンとは、ログオン画面認証をスキップできる特別なアカウントを利用してシステムを操作する機能です。次の用途を想定しています。
本機能は認証をスキップするのではなく、ログオン認証画面をスキップしてシステムにアクセスした場合、予め設定されたアカウントとパスワードでログオン処理を行なわせるものです。
「環境 > アプリケーション > デフォルトログオン」を設定します。
「使用するユーザ名」はデフォルトログオン用であることを意味する "internetXX" としてください。これはインターネットから無記名でシステムを操作するアカウント、という意図です。
ビルド後の Web アプリケーションに管理者の権限でログオンし、上記で用意したアカウントを作成します。
デフォルトログオン用アカウントがパスワードを変更できないよう、プリンシパルで「パスワード変更」の設定は外しておくことを推奨します。
ログオン処理がスキップすることを確認します。一度ログオフする、または別の Web ブラウザを立ち上げ、アドレスバーに次のように入力します。
すぐにメニューが表示されます。
実際には、作成したアカウントで自動ログオンされています。ログファイル (logs/system.log) には次のように記録されます。
モデル customer の登録画面を開く例を紹介します。アドレスバーに次のように入力します。
すぐに顧客登録画面が表示されます。
デフォルトログオンを利用して「ラインセンス上の同時接続数の制限を超えたログオンを許容したい」ではなく、単純にログオン画面を通さずに(パスワード入力なしで)システムを利用させることを目的とする場合があります。
この場合は「使用するユーザ名」を "internet" ではじまるアカウント以外とします。たとえば "anonymous" とするとよいでしょう。
運用後にデフォルトログオンのユーザ名、パスワードを変更する場合は次のようにします。
設定ファイル application.properties を変更し、Tomcat を再起動することで反映させることもできます。この場合は再ビルドが不要です。
wagbyapp\webapps\$(APPNAME)\WEB-INF\classes\application.properties 内の「ignore_logoncheckPassword」「ignore_logoncheckUsername」の値をそれぞれ変更します。
R8.4以降
R8.3.xまで
この方法は再度、ビルドすると application.properties の値が元に戻ります。ビルドせずに動作を確認したいという場合にお試しください。
デフォルトログオンアカウントでシステムを利用する場合、図1の設定欄に用意された部品を非表示にすることができます。
デフォルトログオン用のアカウントは Active Directory 側にも登録してください。
ブラウザから直接、アドレスバーに https://.../showCustomer.do?id=1000 などと入力したとき、デフォルトログオンが有効な環境では自動的にデフォルトログオンでアクセスされます。
しかし、このモデルはデフォルトログオンを適用したくないという要件があったとき、リクエストパラメータに概要
ワンポイント
定義方法
ワンポイント
デフォルトログオンアカウントを登録する
注意
例
メニュー画面を表示する
http://localhost:8921/wagby/mainMenu.do
2018-04-xx 17:00:00 [INFO jp.jasminesoft.jfc.LogonStatusManager addUserName] (admin@localhost) JFC-90000:アカウント internet1 がセッションに追加されました。現在の同時接続数は 1 で、合計セッション数は 1 です。
2018-04-xx 17:00:00 [INFO jp.jasminesoft.jfc.service.LogonService logon] (admin@localhost) JFC-00001:internet1 がログオンしました。利用しているロケール情報は ja です。
業務画面を表示する
http://localhost:8921/wagby/insertCustomer.do?action_New=
例2 パスワードなしでの利用に限定する
運用中にアカウント名、パスワードを変更する
application.propertiesを直接、編集する
server.servlet.context-parameters.ignore_logoncheckPassword=xxxxxxxx
server.servlet.context-parameters.ignore_logoncheckUsername=internet1
server.context-parameters.ignore_logoncheckPassword=xxxxxxxx
server.context-parameters.ignore_logoncheckUsername=internet1
レイアウト
Active Directory と併用する場合
デフォルトログオンを回避するパラメータ 8.4.2
__jfc_ignore_defaultLogon=true
を付与することで回避できます。上の例では https://.../showCustomer.do?id=1000&__jfc_ignore_defaultLogon=true となります。
仕様・制約