我们必须为我们的一个遗留应用程序设置MS azure active目录身份验证,该应用程序位于Struts-1上,将在JBOSS 7上运行。
基本的设置是这样的。我们有一个名为index.html的欢迎文件,如下所示。
<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验证。
我们遵循这个链接https://learn.microsoft.com/en-us/azure/active-directory/active-directory-devquickstarts-webapp-java设置MS AD自动化。
我们在web.xml中创建了一个基本过滤器,如
<filter-name>BasicFilter</filter-name>
<url-pattern>/index.html</url-pattern>此筛选器具有身份验证代码,并将用户重定向到Azure登录页。我们在蔚蓝中给出了"Response“,如:http://localhost:8001/MyApp/index.html
此设置在Weblogic服务器上运行良好,但当我尝试在JBOSS 7上部署相同的设置时,它会带我们到MS注册页面,我们给出凭证,基本过滤器运行,最后显示浏览器中的"HTTP不受此的支持“。
我们走错路了吗?如何支持URL的POST (仅在JBOSS中发生)
发布于 2017-01-10 16:56:12
看来HTTP方法POST for .html文件在JBoss上不支持默认设置,这与其他servlet引擎不同。
根据我的经验,我认为有办法解决这个问题。
web.xml文件中设置下面的配置来更改它。
示例安全约束保护区域/index.html GET POSTindex.html重命名为index.jsp。这将将您的HTML编译为运行在JBoss服务器容器上的JSP,而JSP总是使用service()方法,这将避免JBoss上的问题。https://stackoverflow.com/questions/41570483
复制相似问题