asaのブログ

プログラミングの勉強まとめ

Java GlassFishでBASIC認証

 タイトルの通りです。Tomcatを使用した例がたくさん出ていますが、Netbeansを使用している方はGlasfishの方が何かと便利かもしれないと思いやってみました。

 

 公式チュートリアルが充実していますのでこちらも併せてご覧下さい。

 NetBeans IDEでのWebアプリケーションのセキュリティ保護

 

 またベーシック認証については下のページが理解の助けになります。フォーム認証と併せて学習できます。

 Basic認証とフォームによる認証についてのまとめ - Qiita

 

 フロー

 公式の目安が大体40分となっていますが、GlassFishに限って進めると大体10分くらいで終わると思います。

 

 1.権限を持たないと見れないページを作成する

 ”Webページ”直下にsecureUserなどのフォルダを作成して簡単なhtmlを配置します

 

 2.権限を持つと見れるように設定する

  •  サーバー側のfileレルムにIDとパスワードを設定する
  •  web.xmlにログイン構成、セキリティ・ロール、セキリティ制約を指定する

  ⇒BASIC認証を使う際はログイン構成をBASICに設定、レルム名はfileで指定

  ⇒セキリティ・ロールにはUserRoleなどのロール名を指定

  ⇒セキリティ制約でリソース名とアクセス権を付与するURLを指定

  ⇒IDとロールを紐付けする

 

 以上の手順で簡単にBASIC認証を実装することができます。

 

 デモ

 実際に動かしてみると下のような感じになります。

f:id:asa_r:20170710195858p:plain

 

 指定したユーサー名とパスワードを入力すると管理者あるいはユーザーページにアクセスできます。

f:id:asa_r:20170710200031p:plain