2007-03-06

Windows SPNEGO 开发小结

关键字: Tivoli WebSeal

经验1:

安装TAM 6.0 policy server 并与Microsoft Active Directory集成时,需要注意这样一点:MS Windows server 2003默认的域安全策略中有"启用密码复杂性"一项,密码最小长度是7位. 而TAM 6.0在安装时要向AD中写入用户,并且给定了一个4位的缺省密码,强度也不高,估计没有混大小写, 于是会安装失败. 所以安装以前需要把 w2k3的"密码复杂性"关掉,并把最小长度设为4位.再安装,OK.为了这个本人整整郁闷了一下午~~~虽然,根据老板的指示,不能在blog上对本公司产品方面做过多评论,但我还是要对Tivoli长太息一番~~~

经验2:

Windows提供的Internet API中只有一个用于修改HTTP header的函数,unfortunately,这个函数对头的大小有限制,稍微长一点的Base 64编码值就放不进去。我用了两天时间来研究这个WinInet API,在最后时刻发现了这个限制,决定放弃这个API。改用亲切的Apache HTTP client,加上JNI调用其他Windows SSPI函数的方案。

经验3:

BASE 64编码算法会自动插入回车符(\n),如果直接把base64编码放到Http头里面会把http头搞乱,因为http协议规定CRLF是一个http头的结束符。需要把编码中的\n滤掉。

评论
lao_lee 2007-06-15
首先,你需要部署一个Windows AD domain。
其次,需要在域内配置你的Web server,你可以选择IIS,这个当然有很好的支持;也可以用Apache,这个需要安装一个Kerberos module,具体名字我忘了,一搜就知道了。
第三,需要为你的web server配置一个Windows AD用户。你需要安装Windows的supporting tools,然后运行ktpass -princ service_name -mapUser ABC$。这里的ABC是你的Web server机器的名字;service_name类似 HTTP/ABC.company.com@DOMAIN。
第四,要保证你的web server机器和domain controller机器的系统时间是同步的,误差不超过几分钟,这是Kerberos V5的要求。
balaschen 2007-06-14
请教你做的是WEB应用程序和AD做SSO吗?能不能介绍大体的实现步骤
发表评论

您还没有登录,请登录后发表评论

lao_lee
搜索本博客
我的相册
07dfa7ce-500a-3d6e-81e6-5bc4054600cd-thumb
照片 006
共 11 张
最近加入圈子
存档
最新评论