0

首先:请原谅我的英语。这不是我的天然语言。

我对 JDBC 领域及其后果有疑问。首先,我将向您展示与此问题相关的 web.xml 部分:

<welcome-file-list>
    <welcome-file>user/home.xhtml</welcome-file>
</welcome-file-list>
<security-constraint>
    <display-name>userConstraint</display-name>
    <web-resource-collection>
        <web-resource-name>User-Sites</web-resource-name>
        <description>Seiten fuer den normalen User</description>
        <url-pattern>/user/*</url-pattern>
        <url-pattern>/faces/user/*</url-pattern>
    </web-resource-collection>
    <auth-constraint>
        <description>Alle Gruppen duerfen zugreifen</description>
        <role-name>user</role-name>
        <role-name>admin</role-name>
    </auth-constraint>
</security-constraint>
<login-config>
    <auth-method>FORM</auth-method>
    <realm-name>twiburealm</realm-name>
    <form-login-config>
        <form-login-page>/faces/login.xhtml</form-login-page>
        <form-error-page>/faces/loginError.xhtml</form-error-page>
    </form-login-config>
</login-config>
<security-role>
    <description>Normaler Anwendungs-User</description>
    <role-name>user</role-name>
</security-role>
<security-role>
    <description>Administrator</description>
    <role-name>admin</role-name>
</security-role>

如您所见,我尝试了 URL 模式的不同部分和(此处未显示)所有不同类型的欢迎页面。如果我启动应用程序,登录页面将按预期显示。当我输入无效的用户/密码组合时,会显示错误页面。但是当我输入一个 vild 组合时,我有 2 个不同的结果。

在 Windows 上,它在 Unix 上按预期工作,显示 403-Error 我没有权限

我在两个系统上都使用 jdk 7-05、GlassFish 3.1.2.2 和 JSF 2.1。JDBC-、JNDI-、Pool-、Realm 和所有都是相同的,并且用户从 MySQL-Database 中成功读取。所有名称和 URL 都以相同的模式输入。甚至小写和大写也是一样的。

我真的不知道为什么我在 Unix 下得到 403。有任何想法吗?

谢谢并恭祝安康

4

2 回答 2

0

自 Oracle 掌舵以来,glassfish 部署描述符的 sun-* 命名约定已全部被弃用或消除,取而代之的是 glassfish-*。

这包括文件名和根 XML 元素名称。

据我所知(不确定),这不是 windows 与 unix 的问题,而是 glassfish 软件的版本。

于 2012-08-17T05:23:32.337 回答
0

好的,我发现了问题。所以如果有人有同样的问题:在 Unix 下你必须定义文件“glassfish-web.xml”。我的有以下内容:

<glassfish-web-app error-url="">
    security-role-mapping>
        <role-name>admin</role-name>
        <group-name>admin</group-name>
    </security-role-mapping>
    <security-role-mapping>
        <role-name>user</role-name>
        <group-name>user</group-name>
    </security-role-mapping>
    <class-loader delegate="true"/>
    <jsp-config>
        <property name="keepgenerated" value="true">
            <description>Keep a copy of the generated servlet class' java code.</description>
        </property>
    </jsp-config>
</glassfish-web-app>

在 windows 下不需要这个文件。

谢谢并恭祝安康

于 2012-08-16T18:23:52.243 回答