带有Wildfly 8、Java 1.8.0_45和Active Directory的Java SSO
关于这个话题我搜索了很多,但找不到解决方案 要求的简要说明:带有Wildfly 8、Java 1.8.0_45和Active Directory的Java SSO,java,single-sign-on,wildfly,Java,Single Sign On,Wildfly,关于这个话题我搜索了很多,但找不到解决方案 要求的简要说明: Wildfly 8.2下WebApp上的SSO 将Windows用户身份验证到Active Directory 当SSO失败时,返回到登录表单 在Wildfly的域配置中运行 环境: Microsoft AD Windows Server 2012 R2(1.计算机) 使用Wildfly 8.2的Microsoft Server 2012 R2(2.0机器) 2.机器yas加入了域 到目前为止,我尝试的是通过ktpass,ki
- Wildfly 8.2下WebApp上的SSO
- 将Windows用户身份验证到Active Directory
- 当SSO失败时,返回到登录表单
- 在Wildfly的域配置中运行
- Microsoft AD Windows Server 2012 R2(1.计算机)
- 使用Wildfly 8.2的Microsoft Server 2012 R2(2.0机器)
- 2.机器yas加入了域
github.com/dstraub/spnego-wildfly
事实上,Java版本1.8.045没有回退(基于表单)和问题
sourceforge.net/p/spnego/discussion/1003769/thread/700b6941/#cb84github.com/kwart/spnego演示
同样不工作的是,Wildfly 8.2似乎有不同的行为是否有人对此配置有经验,并有解决方案?以下是说明:
- 番石榴-18.0.jar
- jna-4.1.0.jar
- jna-platform-4.1.0.jar
- slf4j-api-1.7.12.jar
- waffle-jna-1.7.4.jar
安全过滤器
waffle.servlet.NegotiateSecurityFilter
安全过滤器
/*
公共字符串getUserName(){
枚举headerNames=servletRequest.getHeaderNames();
while(headerNames.hasMoreElements()){
字符串headerName=headerName.nextElement();
字符串headerValue=servletRequest.getHeader(headerName);
System.out.println(“标题名称:“+headerName+”“+headerValue”);
}
返回servletRequest.getUserPrincipal().getName();
}
我将解释这些技术。Arkin谈到NTLM…,SPNEGO dstraub是一种面向SPNEGO的kerberos。如果阅读源代码,则它不支持NTLM 但是如果您使用JSF并且有一个PhaseListener,那么在进入筛选之前,您将直接在登录表单上重定向。使用AS JBOSS,您可以使用valve在jbossweb…中进行身份验证,但不能使用wildfly 因为不能在web.xml中使用2 auth form方法,所以如果需要kerberos(如过滤器中的链),必须使用基于SPNEGO的新机制进行身份验证,如果需要NTLM,则必须使用基于waffle的新机制 在华夫饼干网站上要小心。据记载,阀门适用于wildfly,但这是一个错误。现在wildlfy使用undertow Web服务器,不再需要tomcat阀门。此外,wildlfy 9和我认为8也删除了所有身份验证机制,只存在表单、基本、外部和证书摘要。Wildlfy 10添加了kerberos身份验证
现在,NTLM even版本2已被弃用,并且在几年内未得到保护。使用kerberos验证(在active directory上只有很少的配置)更安全。我最终使用了华夫格验证。如何使用?请分享这些信息!