2

我使用基本身份验证创建了一个非常简单的 Weblogic 10.3.5 Web 应用程序,由于某种原因它不会提示输入用户名和密码。我相信 web.xml 和 weblogic.xml 是正确创建的。整个应用程序如下。

它由两个文件组成:

  1. index.html - 任何人都应该能够加载
  2. remoteuser.jsp——只有“组”中的人才能加载

<auth-constraint>为所有 JSP (*.jsp) 添加了一个,这样只有“组”中的用户才能加载它们。但是,当我加载 url“/remoteuser.jsp”时,它会显示“ The remote user is null”,并且不会提示输入用户名和密码。这会导致 JSP 也打印出来null而不是远程用户的名称。

<auth-method>当然,设置为 BASIC 。

我目前什至没有在 Weblogic 的安全领域中定义任何组,因为我想先看到它失败。

根据这个 Weblogic 文档(http://docs.oracle.com/cd/E15051_01/wls/docs103/security/thin_client.html#wp1037337),我相信我做的一切都是正确的。

我是否必须修改 Weblogic 安全领域的身份验证提供程序?还是其他设置?

知道我在做一些愚蠢的事情,但看不到它。请帮忙!


源文件

web.xml

<web-app>
    <welcome-file-list>
        <welcome-file>index.html</welcome-file>
    </welcome-file-list>

    <security-constraint>
        <web-resource-collection>
            <web-resource-name>JSPs</web-resource-name>
            <url-pattern>*.jsp</url-pattern>
        </web-resource-collection>
        <auth-constraint>
            <role-name>group</role-name>
        </auth-constraint>
    </security-constraint>

    <login-config>
        <auth-method>BASIC</auth-method>
    </login-config>

    <security-role>
        <role-name>group</role-name>
    </security-role>
</web-app>

weblogic.xml

<weblogic-web-app>

     <security-role-assignment>
         <role-name>group</role-name>
         <principal-name>group</principal-name>
     </security-role-assignment>

</weblogic-web-app>

远程用户.jsp

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Remote User</title>
</head>
<body>
    <p>
        Only users in "group" should be able to load this page.
    </p>
    <p>
        The remote user is <%= request.getRemoteUser() %>
    </p>
</body>
</html>

索引.html

<html>
<head><title>WebLogic Test</title></head>

<body>
    <h1>Everyone should be able to see this.<br>
</body>
</html>
4

2 回答 2

0

嗯......它现在正在工作,但我不完全确定我究竟做了什么导致这种情况。

我知道它在使用“仅限 DD”或“自定义角色”的安全模型部署应用程序时有效。

但是,当使用“自定义角色和策略”部署时它会失败,这对我来说似乎非常混乱,因为对此的描述是这Use only roles and policies that are defined in the Administration Console. 正是我定义角色和策略的地方!叹。

于 2012-12-12T19:12:16.963 回答
-1

您正在 web.xml / weblogic.xml 上定义角色和策略。

如果您想使用自定义角色和策略,您可以从控制台中的应用程序角色 n 策略中进行配置。

于 2013-09-07T17:02:32.723 回答