0

私は WebSphere 7 を使用しています。以下に示すように、web.xml でセットアップされた簡単な例があります。

これは私がそれをテストする方法です:

  1. WebSphere でユーザーもグループもなしで開始します

  2. ページ (/restricted/topsecret.html) にアクセスしようとすると、ログインするように求められます。ログインできません。

  3. WebSphere 管理コンソールを使用して、ユーザー/パスワード「rob/password」を追加します。ログインできるようになりましたが、ページが表示されません。「403: AuthorizationFailed」エラーが発生します。

  4. 「ROLE1」というグループを追加し、WebSphere 管理コンソールを使用して、そのグループをユーザー「rob」に割り当てます。Firefox を再起動します。ログインはできますが、「403」エラーが発生します。

  5. ログインしたユーザー名を出力するための小さな JSP (以下) を書きましたが、ユーザー名をログに記録した後でも null のままです。

私が間違っていることは何か分かりますか?? ありがとう!

ロブ

<security-constraint>
  <web-resource-collection>
    <web-resource-name>page test 1</web-resource-name>
    <url-pattern>/restricted/topsecret.html</url-pattern>
    <http-method>GET</http-method>
    <http-method>POST</http-method>
  </web-resource-collection>
  <auth-constraint>
    <role-name>ROLE1</role-name>
  </auth-constraint>
  <user-data-constraint>
    <transport-guarantee>NONE</transport-guarantee>
  </user-data-constraint>
</security-constraint>

usertest.jsp

<%@ page session="true" %>
Logged in username = '<%= request.getRemoteUser() %>' // is always null
<p/>
Logged in username = '<%= request.getUserPrincipal() %>' // is always null
4

2 に答える 2

1

セキュリティには 3 つのレベルがあります

  1. 管理レベル
  2. アプリケーションレベル
  3. Java 2 レベル

アプリケーションレベルをオンにしていると思います(オンにしているように聞こえますが、確認したいと思います)

usertest.jsp は保護されていますか?

ロールをユーザーにマッピングした後、アプリケーションを再起動しましたか?

JSP 内のコード (最初の行は構文的に見栄えがよくありません。タイプミスを想定しています)

于 2012-05-23T02:54:00.493 に答える