Java WildFly 13 web应用程序未显示登录表单
我目前正在将一个应用程序从JBoss5迁移到WildFly 13。 该应用程序由一个EAR和几个WAR文件组成,EAR将一系列EJB打包到一个jar中,WAR文件包含web应用程序 其中一个web应用程序的web.xml如下所示:Java WildFly 13 web应用程序未显示登录表单,java,servlets,wildfly,jboss5.x,Java,Servlets,Wildfly,Jboss5.x,我目前正在将一个应用程序从JBoss5迁移到WildFly 13。 该应用程序由一个EAR和几个WAR文件组成,EAR将一系列EJB打包到一个jar中,WAR文件包含web应用程序 其中一个web应用程序的web.xml如下所示: <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "htt
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
<display-name>My App</display-name>
<!-- RESTful web services support -->
<servlet>
<servlet-name>MyServlet</servlet-name>
<servlet-class>com.test.Dispatcher</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>MyServlet</servlet-name>
<url-pattern>/*</url-pattern>
</servlet-mapping>
<!-- order of security-constraint in web.xml is very important!!! -->
<security-constraint>
<web-resource-collection>
<web-resource-name>Secure Content</web-resource-name>
<url-pattern>*</url-pattern>
</web-resource-collection>
<auth-constraint>
<role-name>LOGON</role-name>
</auth-constraint>
<user-data-constraint>
<transport-guarantee>NONE</transport-guarantee>
</user-data-constraint>
</security-constraint>
<login-config>
<auth-method>BASIC</auth-method>
</login-config>
<security-role>
<description>automatic generated role</description>
<role-name>LOGON</role-name>
</security-role>
</web-app>
我的应用程序
MyServlet
com.test.Dispatcher
MyServlet
/*
安全内容
*
登录
没有一个
基本的
自动生成的角色
登录
jboss web只定义了我配置的安全领域:
<jboss-web>
<security-domain>myRealm</security-domain>
</jboss-web>
我的王国
值得一提的是,由于我预期基本auth方法会在调用任何资源时提示浏览器登录表单出现
安全子系统定义了一个名为myRealm的自定义安全域,该域使用jdbc查询:
<subsystem xmlns="urn:jboss:domain:security:2.0">
<security-domains>
<security-domain name="myRealm" cache-type="default">
<authentication>
<login-module code="com.login.LoginModule" flag="required" module="org.jboss.login">
<module-option name="dsJndiName" value="java:jboss/datasources/datasourceDSXA"/>
<module-option name="hashAlgorithm" value="SHA"/>
<module-option name="hashEncoding" value="BASE64"/>
<module-option name="principalsQuery" value="SELECT ...."/>
<module-option name="rolesQuery" value="SELECT ...."/>
<module-option name="unauthenticatedIdentity" value="guest"/>
</login-module>
<login-module code="Remoting" flag="optional">
<module-option name="password-stacking" value="useFirstPass"/>
</login-module>
</authentication>
</security-domain>
</subsystem>
底拖安全域设置为我的自定义域:
<subsystem xmlns="urn:jboss:domain:undertow:6.0" default-server="default-server" default-virtual-host="default-host" default-servlet-container="default" default-security-domain="myRealm">
关于我可能做错了什么的想法?将*
更改为/*
成功了