Java JBOSS上的此URL不支持HTTP方法POST
我们必须为Struts-1上的一个遗留应用程序设置MS azure active directory身份验证,该应用程序将在JBOSS EAP-7上运行 基本设置如下所示。我们有一个名为index.html的欢迎文件,如下所示Java JBOSS上的此URL不支持HTTP方法POST,java,azure,jboss,active-directory,struts-1,Java,Azure,Jboss,Active Directory,Struts 1,我们必须为Struts-1上的一个遗留应用程序设置MS azure active directory身份验证,该应用程序将在JBOSS EAP-7上运行 基本设置如下所示。我们有一个名为index.html的欢迎文件,如下所示 <html> <head> <title>TITLE</title> </head> <FRAMESET border=0 name=fs_rep ROWS="18%,*"> <F
<html>
<head>
<title>TITLE</title>
</head>
<FRAMESET border=0 name=fs_rep ROWS="18%,*">
<FRAME SRC="heading.html" NAME="HEADING">
<FRAME SRC="logon.jsp" NAME="DISPLAY">
</FRAMESET>
<NOFRAMES>
This browser does not support frames. The application cannot be displayed.
</NOFRAMES>
</html>
标题
此浏览器不支持框架。无法显示应用程序。
当应用程序启动时,用户看到登录页面,给出凭证,请求转到LoginAction类,该类执行LDAP验证
我们正在关注这个链接
用于设置MS AD授权
我们在web.xml中创建了一个基本过滤器,如下所示
<filter-name>BasicFilter</filter-name>
<url-pattern>/index.html</url-pattern>
BasicFilter
/index.html
此筛选器具有身份验证代码,并将用户重定向到Azure登录页面。我们已将azure中的“响应URL”指定为:
此设置在Weblogic server上运行良好,但当我尝试在JBOSS EAP-7上部署此设置时,它会将我们带到MS Azure注册页面,我们提供凭据,运行基本筛选器,最后在浏览器中显示“此URL不支持HTTP方法POST”
我们走错路了吗?URL如何支持POST(仅在JBOSS中发生)似乎
的HTTP方法POST
。默认情况下,JBOSS不支持html
文件,这与其他servlet引擎不同
根据我的经验,我认为有一些方法可以解决这个问题
web.xml
文件中设置以下配置来更改
<security-constraint>
<display-name>Example Security Constraint</display-name>
<web-resource-collection>
<web-resource-name>Protected Area</web-resource-name>
<url-pattern>/index.html</url-pattern>
<http-method>GET</http-method>
<http-method>POST</http-method>
</web-resource-collection>
</security-constraint>
示例安全约束
保护区
/index.html
得到
邮递
index.html
重命名为index.jsp
。这将把您的HTML编译为在JBoss serlvet容器上运行的JSP,JSP总是使用service()
方法,这将避免JBoss上的问题你救了我一天!!非常感谢。目前我采用第二种方法。工作很好。