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

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

関連記事

JSPにおけるincludeディレクティブとjsp:includeアクションの違い

<目次> (1) JSPにおけるincludeディレクティブとjsp:includeアクションの違い  (1-1) includeディレクティブ  (1-2) jsp:includeアクション  (1 …

Servlet/JSPで日本語文字が「???」になる問題とFilterの活用について

(0)目次&概説 (1) 事象 (2) 原因 (3) 対処方法1  (3-1) フィルタクラスの新規作成  (3-2) フィルタクラスへのコード追加  (3-3) 疎通確認テスト (4) 対処方法2 …

RESTful APIのサンプル(Java)を作成する手順をご紹介

  <目次> (1) RESTful APIのサンプル(Java)を作成する手順をご紹介  (1-1) 作成するAPIの概要  (1-1) RESTful APIの開発用プロジェクト作成(S …

Tomcatのアーキテクチャ概要と各コンポーネントの役割について

(0)目次&概説 (1) 記事の目的  (1-1) 目的  (1-2) 前提条件 (2) Tomcatの概要  (2-1) Tomcatとは?  (2-2) Tomcatアーキテクチャ概観 (3) T …

TomcatでEclipseを使う際にserver.xmlを編集しても上書きされる事象の対処方法

<目次> (1) TomcatでEclipseを使う際にserver.xmlを編集しても上書きされる事象の対処方法  (1-1) 発生状況・エラーメッセージ  (1-2) 原因  (1-3) 対処法 …

  • English (United States)
  • 日本語
Top