spnego 配置心得

1 篇文章 0 订阅

对于spnego,似乎国内没有什么比较好的配置文档,今天工作遇上,也解决了所以我就写下我的心得

参考源文档,http://spnego.sourceforge.net/spnego_tomcat.html

以下是我的spnego的配置教程的理解

现在假设域控服务器以及 请求NTLM的tomcat应用服务器的一些参数。
1.域控服务器,设置域名为test.com,域控服务器的IP地址为 192.168.1.22,
2.请求NTLM的tomcat应用服务器,在域控中的机器名(Computer)为bk-srv,
3.请求NTLM的tomcat应用服务器,在域控中的DSN重定向后的路径名为boke,
4.准备好的域控内的请求用户为xxxxxx,密码为******
接下来开始配置:
第一.spnego,大家可以去官网:http://spnego.sourceforge.net 去下spnego的jar包,放置在tomcat下
第二. 配置login.conf.这个直接照官网陪就好
第三. 配置krb5.conf,

[libdefaults]
default_realm = TEST.COM    //注意必须大写域名
//剩下的照搬
...

default_tkt_enctypes = aes128-cts rc4-hmac des3-cbc-sha1 des-cbc-md5 des-cbc-crc default_tgs_enctypes = aes128-cts rc4-hmac des3-cbc-sha1 des-cbc-md5 des-cbc-crc
permitted_enctypes   = aes128-cts rc4-hmac des3-cbc-sha1 des-cbc-md5 des-cbc-crc

[realms]
// 因为是指明了TEST.COM,所以
// kdc值为域控服务器的ip,包括端口,如果指定端口为 88,那么就是 
// 注意kdc在官网上说可以多个,我猜也许指可以指定多个域控服务器  
TEST.COM =   {
        kdc = 192.168.1.22  192.168.1.22:88
        default_domain = TEST.COM
}   


    
          [domain_realm]参数
//一般没有太多指向地址就是
.TEST.COM =TEST.COM  //这个说明可以参考 IBM的spnego的使用说明 http://publib.boulder.ibm.com/tividd/td/ITAME/SC32-1365-00/zh_CN/HTML/am51_webservers_guide112.htm
 
    第四,配置web.xml

    <filter>
        <filter-name>SpnegoHttpFilter</filter-name>
        <filter-class>net.sourceforge.spnego.SpnegoHttpFilter</filter-class>
        <init-param>
            <param-name>spnego.allow.localhost</param-name>
            <param-value>true</param-value>
        </init-param>
        <init-param>
            <param-name>spnego.login.client.module</param-name>
            <param-value>spnego-client</param-value>
        </init-param>
        <init-param>
            <param-name>spnego.krb5.conf</param-name>
            <param-value>krb5.conf</param-value>  //推荐使用krb5.conf的绝对地址
        </init-param>
        <init-param>
            <param-name>spnego.login.conf</param-name>
            <param-value>login.conf</param-value> //推荐使用login.conf的绝对地址
        </init-param>
        <init-param>
            <param-name>spnego.preauth.username</param-name>
            <param-value>xxxxxx</param-value>
        </init-param>
        <init-param>
            <param-name>spnego.preauth.password</param-name>
            <param-value>******</param-value>
        </init-param>
        <init-param>
            <param-name>spnego.login.server.module</param-name>
            <param-value>spnego-server</param-value>
        </init-param>
        <init-param>
            <param-name>spnego.allow.basic</param-name>
            <param-value>true</param-value>   //true表示当前用户无法域登入成功时,提供基础的输入验证
        </init-param>
        <init-param>
            <param-name>spnego.allow.unsecure.basic</param-name>
            <param-value>true</param-value>
        </init-param>
        <init-param>
            <param-name>spnego.prompt.ntlm</param-name>
            <param-value>true</param-value>
        </init-param>
        <init-param>
            <param-name>spnego.logger.level</param-name>
            <param-value>1</param-value>
        </init-param>
    </filter>
    <filter-mapping>
        <filter-name>SpnegoHttpFilter</filter-name>
        <url-pattern>*.jsp</url-pattern>
    </filter-mapping> 


第五,域控上SPN的注册,这个是重点中的重点!
* 在域控服务器上,以管理员角色打开cmd,使用setspn进行spn注册
* 由于请求NTLM的tomcat应用服务器 bk-srv,被DSN重定向为boke,所以在spn注册时,必须将原有的机器名和重定向的http访问路径一起注册,缺一不可
* cmd中输入如下代码:

setspn -A Http/boke tester
setspn -A Http/boke.test.com tester
setspn -A Http/bk-oasrv tester
setspn -A Http/bk-oasrv.test.com tester



* 然后输入 setspn -L tester 验证setspn的注册信息,显示的结果应该为:
*******************************************************************************
Registered ServicePrincipalNames for CN=tester,OU=test,DC=test,DC=com:
Http/boke 
Http/boke.test.com 
Http/bk-oasrv 
Http/bk-oasrv.test.com 
*******************************************************************************

以上配置工作完成 - End

 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值