Rainbow Engine

IT技術を分かりやすく簡潔にまとめることによる学習の効率化、また日常の気付きを記録に残すことを目指します。

JSP/Servlet Tomcat

JSP/Servletでウェルカムページが認証されない事象について

投稿日:2021年4月24日 更新日:

<目次>

(1) JSP/Servletでウェルカムページが認証されない事象について
 (1-1) 発生状況・エラーメッセージ
 (1-2) 原因
 (1-3) 対処

(1) JSP/Servletでウェルカムページが認証されない事象について

JSP/Servletでウェルカムページに設定したページが、フルパスだと認証(ログイン画面に自動遷移)されるのに対して、ウェルカムページの短縮URL(jsp名を省略したURL)でアクセスすると認証されない、という事象についてです。

結論として、これは「仕様通り」の動きなのですが、なぜこうなるかについて少し整理したので備忘として残します。

(1-1) 発生状況・エラーメッセージ

●ウェルカムページを指定

web.xmlにて<welcome-file>要素を用いてウェルカムページの指定を行いました。具体的には下図のように「WebContent/form_auth/AfterLogin.jsp」というページを指定しています。
 
(図111)
 
これによりjsp名を省略したURLでアクセス可能にしています。
https://[ホスト名]:[ポート番号]/ [アプリケーション名]/

 

●Form認証の適用

ウェルカムページで指定したページが含まれる「form_auth」ディレクトリ配下に対して、Form認証を適用しました。
 
(図112)
 
これにより「AfterLogin1.jsp」にアクセスするためには認証(Login1.jspからのログイン)が必要になりました。
 
https://[ホスト名]:[ポート番号]/ [アプリケーション名]/form_auth/ AfterLogin1.jsp

●しかし・・

AfterLogin1.jspのフルパスを指定した場合はログイン画面に遷移するものの、ウェルカムページとして短縮URLでアクセスした際には、結果的には同じ画面を表示しようとしているにも関わらず、認証が発動しませんでした。
 
(動画)
操作①:AfterLogin1.jspにフルパスでアクセス⇒認証あり
操作②:AfterLogin1.jspにウェルカムページのURLでアクセス⇒認証されない

 

目次にもどる

(1-2) 原因

ウェルカムページの短縮URLだと、Form認証の適用パターン(/form_auth/*)にマッチせず、認証のカバー範囲から外れてしまうためです。具体的には、次のようにウェルカムページの短縮URLが、認証範囲よりも上位の階層の扱いになるため、短縮URLの時には認証がされませんでした。

(ウェルカムページの短縮URL)
https://ik1-336-28337.vs.sakura.ne.jp:8443/LoginTemplate/
(認証範囲)
https://ik1-336-28337.vs.sakura.ne.jp:8443/ LoginTemplate/form_auth/*

 

目次にもどる

(1-3) 対処

私自身はこの事象に対する明確な対処方法を見つけられていないのですが、運用回避としてウェルカムページは認証が不要な入口のページとして作り変える方針で進めようと考えています(※そもそも、ウェルカムページってそういうモノですし💦)。

そして、ウェルカムページから飛ぶ先から認証が必要な構造にしようと考えています(よくある、ウェルカムページに「ログイン」ボタンが設置してあるイメージ)。

目次にもどる

Adsense審査用広告コード


Adsense審査用広告コード


-JSP/Servlet, Tomcat

執筆者:


comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

関連記事

no image

HTMLで<a>要素のリンクを中央寄せする方法

<目次> (1) HTMLで<a>要素のリンクを中央寄せする方法  (1-1) 構文  (1-2) サンプルプログラム  (1-3) サンプルプログラム実行結果 (1) HTMLで< …

Linuxサーバー(CentOS6)にTomcatをインストールする手順

(0)目次&概説 (1) Tomcatとは? (2) Tomcatインストールと疎通チェック  (2-1) Tomcat用ユーザーの作成  (2-2) Tomcatの資源をダウンロード  (2-3) …

TomcatにWARファイルをデプロイする方法

  <目次> (1) TomcatにWARファイルをデプロイする方法  (1-1) STEP1:WARファイルの準備  (1-2) STEP2:WARファイルをサーバ上に配備  (1-3) …

Tomcatのフォーム認証が失敗した際のトラブルシューティングメモ

<目次> (1) Tomcatのフォーム認証が失敗した際のトラブルシューティングメモ  (1-1) 事象①:正しいID/パスワードを入れてもログインエラーになる   (1-1-1) 発生状況・エラーメ …

JSP Servletでセッションの有効期限を設定する方法

<目次> (1) JSP Servletでセッションの有効期限を設定する方法  (1-1) セッションの有効期限設定の概要  (1-2) 方法1:web.xmlに追記する方法  (1-3) 方法2:プ …

  • English (United States)
  • 日本語
Top