Java Web 项目SSO实战二之(win7 and Windows server 2008)
来源:互联网 发布:淘宝怎么推广自己的店铺 编辑:程序博客网 时间:2024/06/05 14:57
JCIFS 的问题
在上一篇中, 介绍了使用 jcifs 来进行域验证。
但是在Win7 或是windows server 2008 下, 验证却不成功, 会出现 :
jcifs.smb.SmbException: The parameter is incorrect.
类似的错误。
究其原因是因为:
JCIFS的HttpFilter并不支持NTLM2协议,而当客户端是WIN7系统时,默认采用的是NTLM2协议。如果此时域控服务器也支持NTLM2,则会默认采用NTLM2协议验证。就会出现异常了。
官方给出的解释也是不支持NTLM2,
可以参考官方解释: http://jcifs.samba.org/src/docs/ntlmhttpauth.html
The HTTP "filter" in particular uses a "man in the middle" technique that cannot support NTLMv2. Since late 2008, users have started to report that client security policy is requiring NTLMv2 and that this solution no longer works. For this reason and others described in this post, this feature will be removed from the JCIFS package.Currently we recommend using Jespa which properly implements NLTMv2 server side authentication and includes an advanced NTLMv2 HTTP SSO Servlet Filter.
以上就是说, JCIFS 不支持NTMLv2, HTTP filter 的功能之后也不再使用了, 官方推荐使用 Jespa.
所以使用JCIFS只能作为一种临时解决方案, 并不能作为最终方案。
JCIFS 的解决方法
如果已经使用JCIFS 作为解决方案, 只需要暂时解决Win7 等系统的问题的话。如何临时解决以上问题。
解决方法是增加或修改注册表的以下信息:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa中新建一个dword值LMCompatibilityLevel,值为0,即可解决.
修改这个值是什么意思
.reg 文件
以上方式也可以通过执行注册表文件来快速修改
文件名任意, 后缀名是 .reg 就可以了, 比如 ssontlm.reg
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Lsa]
"LMCompatibilityLevel"=dword:00000001
reg 注册表文件转换为 EXE 可执行文件
- Java Web 项目SSO实战二之(win7 and Windows server 2008)
- Java Web 项目SSO实战
- 【java】itoo项目实战之常见问题二
- java web项目实战
- Java Web项目实战,Jsp项目实战
- (实战项目)SSO单点登录
- java web项目实战(网络商城)
- 【项目实战】Java POI之Excel导出经典案例二
- 项目技术总结二之SSO单点登录
- java web项目实战之5 项目架构,项目发布,servlet请求
- 【java】itoo项目实战之java Web 中web的作用
- Web基础之Servlet+JDBC+JSP项目实战记录(二)
- JAVA WEB项目开发案例精粹之二,投票系统
- Java web之二
- Maven实战之Web项目部署
- java web简易博客项目实战简述
- PHP之MVC项目实战(二)
- React-Native 之 项目实战(二)
- (libgdx学习)Music
- 经典SQL语句大全
- Apache shutdown unexpectedly启动错误解决方法
- 关于realarm210 realarmTest.apk不能直接安装问题解决方法
- 不使用NSLog 使用宏定义来输出
- Java Web 项目SSO实战二之(win7 and Windows server 2008)
- DAO 编程
- 关于某社交app的安全分析,简单介绍下app防止反编译的方法
- 2013级C++第4周(春)项目——再和对象找感觉【项目4扩展4(选做)】
- 重温数据结构:二叉查找树的java实现
- AAM(Active Appearance Model)算法介绍
- GDB调试问题No source file named file.c. Make breakpoint pending on future shared library load? (y or [n]
- Object.prototype.toString.call() 进行类型判断
- Java Static静态关键字理解