Jboss Basic Autentication的问题

时间:2015-07-31 04:56:12

标签: java jboss

您好我已经在Jboss7上配置了我的应用程序进行基本身份验证,如下所示。

在Jboss的standalone.xml中添加了安全域,如下所示。

<security-domain name="BasicAuthWebAppPolicy" cache-type="default">
                    <authentication>
                        <login-module code="RealmUsersRoles" flag="required">
                            <module-option name="usersProperties" value="basicSecurityWebApp-users.properties"/>
                            <module-option name="rolesProperties" value="basicSecurityWebApp-roles.properties"/>
                        </login-module>
                    </authentication>
                </security-domain>

在web.xml文件中,我有如下配置。

<security-constraint>
            <web-resource-collection>
                <web-resource-name>MySecureResources</web-resource-name>
                <description>Some Description</description>
                <url-pattern>/secured/*</url-pattern>
                <http-method>GET</http-method>
                <http-method>POST</http-method>
            </web-resource-collection>
            <auth-constraint>
                <role-name>TestRole</role-name>
            </auth-constraint>
        </security-constraint>
        <login-config>
            <auth-method>BASIC</auth-method>
        </login-config>
        <security-role>
            <role-name>TestRole</role-name>
        </security-role>

我的jboss-web.xml有内容。

<?xml version="1.0"?>
    <!DOCTYPE jboss-web PUBLIC
            "-//JBoss//DTD Web Application 5.0//EN"
            "http://www.jboss.org/j2ee/dtd/jboss-web_5_0.dtd">
    <jboss-web>
        <security-domain>java:/jaas/BasicAuthWebAppPolicy</security-domain>
        <context-root>/basicSecurityWebApp</context-root>
    </jboss-web>

此外,我在路径WEB-INF / classes中添加了属性文件。 用户文件包含 TestUserOne = TestPassword ,并且角色文件包含 TestUserOne = TestRole 当我输入超级名称和密码时,我在jboss日志中收到以下错误。

  

0:18:07,162错误   [org.jboss.security.authentication.JBossCachedAuthenticationMnager]   (http - 127.0.0.1-8080-1)登录失败:   javax.security.auth.login.LoginE ception:   java.lang.NullPointerException at   org.jboss.sasl.util.UsernamePasswordHashUtil.stringToByte(UsernamePaswordHashUtil.java:86)          在org.jboss.sasl.util.UsernamePasswordHashUtil.generateHashedURP(UsernaePasswordHashUtil.java:131)

请告诉我配置的问题。

1 个答案:

答案 0 :(得分:0)

导致异常的方法是尝试访问null对象。查看UsernamePasswordHashUtil.java here的源代码,“realm”为空。

您可能需要执行其他配置才能使其正常运行。 例如,在web.xml中添加以下行:

<login-config>
   <auth-method>BASIC</auth-method>
   <realm-name>ApplicationRealm</realm-name>
</login-config>

然后将用户添加到ApplicationRealm,如解释here