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的要求。
其次,需要在域内配置你的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吗?能不能介绍大体的实现步骤
发表评论
- 浏览: 39320 次
- 性别:

- 来自: 北京

- 详细资料
搜索本博客
我的相册
照片 006
共 11 张
共 11 张
最近加入圈子
最新评论
-
程序员为什么跳槽
深以为然。的确如此
-- by penghao122 -
程序员为什么跳槽
很荣幸 看到这么两位牛人的发言。朴素....
-- by sunchang_long -
Windows SPNEGO 开发小结
首先,你需要部署一个Windows AD domain。 其次,需要在域内配置你 ...
-- by lao_lee -
Web service杂谈
以前听说SOA是说给企业老总听的,与程序员无关,所以没有多多关注。前些天看了程序 ...
-- by Lincoln -
Web service杂谈
关注WebSevice 但愿开是以后开发简便的好!!!
-- by O.Lions






评论排行榜