Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/313.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 基于tomcat表单的身份验证数据源ALM配置错误_Java_Xml_Apache_Servlets - Fatal编程技术网

Java 基于tomcat表单的身份验证数据源ALM配置错误

Java 基于tomcat表单的身份验证数据源ALM配置错误,java,xml,apache,servlets,Java,Xml,Apache,Servlets,我是tomcat开发的新手。我已经尝试在tomcat服务器上配置基于表单的身份验证。但日志文件logs/catalina.out中会出现错误。我不确定conf/server.xml或application/WEB-INF/WEB.xml中是否有任何错误。 tomcat/logs/catalina.out输出: 警告[main]org.apache.tomcat.util.digester.SetPropertiesRule.begin [SetPropertiesRule]{Server/Ser

我是tomcat开发的新手。我已经尝试在tomcat服务器上配置基于表单的身份验证。但日志文件logs/catalina.out中会出现错误。我不确定conf/server.xml或application/WEB-INF/WEB.xml中是否有任何错误。
tomcat/logs/catalina.out输出:

警告[main]org.apache.tomcat.util.digester.SetPropertiesRule.begin [SetPropertiesRule]{Server/Service/Engine/Realm}设置属性 “摘要”到“MD5”未找到匹配的属性。
警告[主要] org.apache.tomcat.util.digester.digester.endElement未找到任何规则 匹配“服务器/服务/引擎/资源”

在tomcat/conf/server.xml中

<Realm className="org.apache.catalina.realm.DataSourceRealm"
    localDataSource="true"
    digest="MD5"
    dataSourceName="jdbc/test"
    userTable="users"
    userNameCol="user_name"
    userCredCol="user_pass"
    userRoleTable="user_roles"
    roleNameCol="role_name"/>

<Resource name="jdbc/test"
    type="javax.sql.DataSource"
    factory="org.apache.tomcat.jdbc.pool.DataSourceFactory"
    driverClassName="com.mysql.jdbc.Driver"
    url="jdbc:mysql://localhost:3306/test"
    username="he"
    password="***"
    maxActive="8"
    maxIdle="4"
    maxWait="10000"
    auth="Container"/>

在application/WEB-INF/WEB.xml中

<security-constraint>
    <web-resource-collection>
        <web-resource-name>UpdateRe</web-resource-name>
        <url-pattern>/images/*</url-pattern> 
    </web-resource-collection>
    <auth-constraint>
        <role-name>Admin</role-name>
        <role-name>Member</role-name>
    </auth-constraint>
</security-constraint>

<security-role>
    <role-name>Admin</role-name>
    <role-name>Member</role-name>
    <role-name>Guest</role-name>
</security-role>    

<login-config>
    <auth-method>FORM</auth-method>
    <form-login-config>
        <form-login-page>/login.html</form-login-page>
        <form-error-page>/loginError.html</form-error-page>
    </form-login-config>  
</login-config>

更新
/图像/*
管理
成员
管理
成员
客人
形式
/login.html
/loginError.html

这很可能是Tomcat8.5删除了摘要属性。您需要使用CredentialHandler子元素。如何在同一myapp.war文件中同时支持Tomcat7和Tomcat8服务器

关于
org.apache.catalina.realm.datasourcealm
的大多数在线文档都指向以前的配置