2

最近ログインしたユーザーのユーザー名を取得しようとしています。.getRemoteUser()メソッドを使用してユーザー名を読み取りました。しかし、それはユーザー情報を表示していませんでした。

私のコードは:

response.setContentType("text/plain");
PrintWriter out= response.getWriter();
// Some introductory HTML...
String remoteUser = request.getRemoteUser();
// See if the client is allowed
if(remoteUser == null) {
    out.println("Welcome");
} else {
    out.println("Welcome " + remoteUser + "!");
 }

なぜ正しい結果が得られなかったのかわかりません。常に「ようこそ」という結果が生成されます。これは、request.getRemoteUser()==nullを意味します。リモートユーザー情報を取得する方法を誰か教えてください。前もって感謝します....

4

2 に答える 2

1

request.getRemoteUser()は、ログインしているユーザーを返します。それ以外の場合は、nullを返します。使用している認証の種類によって異なります。

もう1つの理由は、クライアント(ブラウザー)が要求とともにユーザー名を送信していないことです。これは、認証を要求したURLツリーの外部にいる場合に発生する可能性があります

于 2013-02-04T11:45:55.497 に答える
0

HTTP基本認証のみを使用すると、リモートユーザーが入力されます。

これは、Javaで基本的なHTTP認証を設定するための簡単なチュートリアルです。

実際には、以下の標準認証メカニズムのいずれかを使用できます

staticStringBASIC_AUTH基本認証の文字列識別子。

staticStringCLIENT_CERT_AUTHクライアント証明書認証用の文字列識別子。

staticStringDIGEST_AUTHダイジェスト認証の文字列識別子。

静的文字列FORM_AUTH

于 2013-02-07T12:42:35.050 に答える