デフォルトログオン

最終更新日: 2022年10月31日
R8 | R9

概要

デフォルトログオンとは、ログオン画面認証をスキップできる特別なアカウントを利用してシステムを操作する機能です。次の用途を想定しています。

特定のデータを一般に公開する
ある特定のデータを公開する場合、閲覧専用のアカウントを用意します。このアカウントはログオン認証なしでデータの検索や閲覧を行うことができるようになります。
申込受付システムを用意する
セミナーの申込受付を行える、登録専用のアカウントを用意します。このアカウントはログオン認証なしでデータの登録(申込)を行うことができるようになります。

ワンポイント

本機能は認証をスキップするのではなく、ログオン認証画面をスキップしてシステムにアクセスした場合、予め設定されたアカウントとパスワードでログオン処理を行なわせるものです。

定義方法

「環境 > アプリケーション > デフォルトログオン」を設定します。

デフォルトログオンの設定
  • 「デフォルトログオン機能を使用する」を有効にします。
  • 「使用するユーザ名」を "internet" ではじまるアカウントとします。例えば "internet1" などです。「使用するパスワード」にパスワードを設定します。

ワンポイント

「使用するユーザ名」はデフォルトログオン用であることを意味する "internetXX" としてください。これはインターネットから無記名でシステムを操作するアカウント、という意図です。

デフォルトログオンアカウントを登録する

ビルド後の Web アプリケーションに管理者の権限でログオンし、上記で用意したアカウントを作成します。

デフォルトログオンアカウントの登録

注意

デフォルトログオン用アカウントがパスワードを変更できないよう、プリンシパルで「パスワード変更」の設定は外しておくことを推奨します。

メニュー画面を表示する

ログオン処理がスキップすることを確認します。一度ログオフする、または別の Web ブラウザを立ち上げ、アドレスバーに次のように入力します。

http://localhost:8921/wagby/mainMenu.do

すぐにメニューが表示されます。

ログオン画面をスキップしてメニュー画面を開く

実際には、作成したアカウントで自動ログオンされています。ログファイル (logs/system.log) には次のように記録されます。

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 です。

業務画面を表示する

モデル customer の登録画面を開く例を紹介します。アドレスバーに次のように入力します。

http://localhost:8921/wagby/insertCustomer.do?action_New=

すぐに顧客登録画面が表示されます。

ログオン画面をスキップして顧客登録画面を開く

例2 パスワードなしでの利用に限定する

デフォルトログオンを利用して「ラインセンス上の同時接続数の制限を超えたログオンを許容したい」ではなく、単純にログオン画面を通さずに(パスワード入力なしで)システムを利用させることを目的とする場合があります。

この場合は「使用するユーザ名」を "internet" ではじまるアカウント以外とします。たとえば "anonymous" とするとよいでしょう。

"anonymous" はデフォルトログオン扱いとならないため、"同一ログオンアカウントでシステムにログオンできる最大数" が適用されます。このためパスワード入力なしでの操作を可能とし、かつ、同一ログオンアカウントでシステムにログオンできる最大数を適用した運用が可能になります。

運用中にアカウント名、パスワードを変更する

運用後にデフォルトログオンのユーザ名、パスワードを変更する場合は次のようにします。

  1. アカウント管理画面で変更します。
  2. WagbyDesingerのデフォルトログオン設定も上記に合わせて修正し、再ビルドを行います。

application.propertiesを直接、編集する

設定ファイル application.properties を変更し、Tomcat を再起動することで反映させることもできます。この場合は再ビルドが不要です。

wagbyapp\webapps\$(APPNAME)\WEB-INF\classes\application.properties 内の「ignore_logoncheckPassword」「ignore_logoncheckUsername」の値をそれぞれ変更します。

R8.4以降

server.servlet.context-parameters.ignore_logoncheckPassword=xxxxxxxx
server.servlet.context-parameters.ignore_logoncheckUsername=internet1

R8.3.xまで

server.context-parameters.ignore_logoncheckPassword=xxxxxxxx
server.context-parameters.ignore_logoncheckUsername=internet1

この方法は再度、ビルドすると application.properties の値が元に戻ります。ビルドせずに動作を確認したいという場合にお試しください。

レイアウト

デフォルトログオンアカウントでシステムを利用する場合、図1の設定欄に用意された部品を非表示にすることができます。

  • 表示文字の大きさの指定
  • メニューアイコン
  • ヘルプアイコン
  • ログオフアイコン
  • サブメニュー
  • パンくず
  • ログオンユーザ表示

Active Directory と併用する場合

デフォルトログオン用のアカウントは Active Directory 側にも登録してください。

デフォルトログオンを回避するパラメータ 8.4.2

ブラウザから直接、アドレスバーに https://.../showCustomer.do?id=1000 などと入力したとき、デフォルトログオンが有効な環境では自動的にデフォルトログオンでアクセスされます。

しかし、このモデルはデフォルトログオンを適用したくないという要件があったとき、リクエストパラメータに__jfc_ignore_defaultLogon=trueを付与することで回避できます。上の例では https://.../showCustomer.do?id=1000&__jfc_ignore_defaultLogon=true となります。

仕様・制約

  • デフォルトログオンで利用するアカウントにはパスワード有効日数が適用されません。
  • デフォルトログオンで利用するアカウントには "同一ログオンアカウントでシステムにログオンできる最大数" や "自動ログオフを有効にする" 機能は適用されません。これは不特定多数の利用者を想定しているためです。
  • 本機能はマルチセッションと併用することはできません。
  • REST API ではデフォルトログオン機能は動作しません。(デフォルトログオンを利用しない REST アクセスは利用できます。)
  • 外部認証(シングルサインオン)を有効にした環境では、デフォルトログオン機能は動作しません。