ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

带有Wildfly 8,Java 1.8.0_45和Active Directory的Java SSO

2019-06-28 10:48:01  阅读:164  来源: 互联网

标签: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.机器)
> 2.Machine yas加入了Domain

到目前为止,我尝试通过ktpass,kinit绑定AD和Wildfly服务器……它的工作原理!

>尝试以下:
github.com/dstraub/spnego-wildfly
事实上,没有工作,没有回退(基于表单)和Java版本1.8.0_45的问题
sourceforge.net/p/spnego/discussion/1003769/thread/700b6941/#cb84.
>接下来尝试:
github.com/kwart/spnego-demo
同样不起作用,似乎Wildfly 8.2有不同的行为.
> WAFFLE图书馆:
不能把它带到Wildfly下工作,对Tomcat的良好支持,但不是更多.

有人有使用此配置的经验吗?有解决方案吗?

解决方法:

这是解释:

>我创建了一个包含以下库的webapp:

> guava-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

>我在web.xml中声明了Webfilter:

<filter>
    <filter-name>SecurityFilter</filter-name>
    <filter-class>waffle.servlet.NegotiateSecurityFilter</filter-class>
</filter>
<filter-mapping>
    <filter-name>SecurityFilter</filter-name>
    <url-pattern>/*</url-pattern>
</filter-mapping>

>之后,您可以从HttpServletRequest中读取用户

public String getUserName() {
    Enumeration<String> headerNames = servletRequest.getHeaderNames();
    while (headerNames.hasMoreElements()) {
        String headerName = headerNames.nextElement();
        String headerValue = servletRequest.getHeader(headerName);
        System.out.println("Header Name:" + headerName + " " + headerValue);
    }       
    return servletRequest.getUserPrincipal().getName();
}

>为单点登录配置浏览器:

https://github.com/dblock/waffle/blob/master/Docs/ConfiguringBrowsers.md

标签:java,single-sign-on,wildfly
来源: https://codeday.me/bug/20190628/1314758.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有