- - PR -
BASIC認証から入力されたユーザ名を取得できません
1
| 投稿者 | 投稿内容 | ||||
|---|---|---|---|---|---|
|
投稿日時: 2005-10-14 15:08
現在、BASIC認証から入力されたユーザ名を取得できずに
困っています。 現象としては、 1.Menu.jspを起動させる 2.BASIC認証画面が起動し、ユーザ名とパスワードを入力する 3.Menu.jspが表示され、週報入力ボタンを押す 4.FrontCtrl.javaでユーザ名取得の際にNullPointerExceptionで落ちます。 しかし、Menu.jspが表示されたままで、もう一度Menu.jspをエクスプローラから表示させ、 週報入力ボタンを押すとユーザ名が取得できます。(このときBASIC認証の画面は出ない) この現象がよく分かりません。(1.〜4.の操作でユーザ名を取得したい) 皆様の力をお貸しください、宜しくお願いします。。 ★★★★ 環境 ★★★★ Eclipse2.1.1 JDK1.4.2 Tomcat 4.1 ★★★★ web.xml ★★★★ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd"> <web-app> <!-- URL:http://localhost:8080/nippou/jsp/Menu.jsp --> <!-- サーブレットの登録 --> <servlet> <servlet-name>ctrl</servlet-name> <servlet-class>controller.FrontCtrl</servlet-class> </servlet> <!-- マッピング処理 --> <servlet-mapping> <servlet-name>ctrl</servlet-name> <url-pattern>/ctrl</url-pattern> </servlet-mapping> <!-- セキュリティ処理 --> <security-constraint> <web-resource-collection> <web-resource-name>nippou</web-resource-name> <url-pattern>/jsp/*</url-pattern> </web-resource-collection> <auth-constraint> <role-name>member</role-name> </auth-constraint> </security-constraint> <!-- 認証パターン --> <login-config> <auth-method>BASIC</auth-method> <realm-name>nippou</realm-name> </login-config> <!-- グループ定義 --> <security-role> <role-name>member</role-name> </security-role> </web-app> ★★★★ Menu.jsp ★★★★ <%@ page language="java" pageEncoding="UTF-8" %> <html> <head><title>メニュー画面</title></head> <body><center> <form method="post" action="/nippou/ctrl"> <INPUT TYPE="hidden" NAME="COMMAND_ID"> 【メニュー画面】<br> <input type="submit" value="週報入力"> </form> </center></body> </html> ★★★★ FrontCtrl.java ★★★★ package controller; import java.io.IOException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public class FrontCtrl extends HttpServlet { public void doPost( HttpServletRequest req, HttpServletResponse res ) throws IOException { String user = (req.getRemoteUser()).toString(); System.out.println("ユーザ名:"+user); } } | ||||
|
投稿日時: 2005-10-14 15:32
security-constraintのurl-patternを「/*」に変えるとどうなりますか?
| ||||
|
投稿日時: 2005-10-14 16:09
uk様へ
うまくいきました。有難う御座います。 助かりました。 このプログラムでは、Menu.jspを最初に起動させていますが、 いきなりサーブレットを起動することはできるでしょうか? 欲張ってすいません。 | ||||
|
投稿日時: 2005-10-14 16:23
「いきなりサーブレット」というのは、JSPを表示させる前にサーブレットのURLを直接
アクセスする、ということですか? であれば、もちろん問題なくできます。 | ||||
|
投稿日時: 2005-10-14 16:57
uk様有難う御座います。
言葉足らずですいません。 BASE認証画面 ⇒ サーブレット(ここでユーザ名を取得)⇒ JSP遷移 といった感じです。 | ||||
|
投稿日時: 2005-10-14 18:42
いや、それが「直接サーブレットのURLにアクセス」する、ということですが。 簡単に試してみることができると思うのですが、なぜやってみないんですか? | ||||
1
