# solonadsso
**Repository Path**: gtxmz/solonadsso
## Basic Information
- **Project Name**: solonadsso
- **Description**: AD域环境下自动登录功能在solon下的实现
- **Primary Language**: Unknown
- **License**: Not specified
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 1
- **Forks**: 0
- **Created**: 2024-05-23
- **Last Updated**: 2024-05-23
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
NTLM相关的协议引用了jcifs包,该包中有NtlmHttpFilter这个过滤器,但solon中无法直接用,故参照其代码重写了个过滤器并进行了一些简化
具体协议内容可参照
https://blog.csdn.net/qq_51789211/article/details/132377905
测试本demo先将配置文件中的域控地址、账号密码设置成自己的,然后启动工程,浏览器中输入http://localhost:8080/adsso即可看到自动登录后的用户名,若弹出账号密码输入框则说明没有自动登录成功
在泛微及帆软中都要求该账号是域控管理员账号,但是我测试完发现非管理员账号也是可以的
要想实现自动登录还有个要求就是Internet选项里要配置“自动使用当前用户名和密码登录”,当然浏览器并不会自动提交密码,而是它的哈希值,具体看NTLM协议内容
如果电脑已经没有IE浏览器,则需要在Edge中配置里的默认浏览器配置页面里的“允许在 Internet Explorer 模式下重新加载网站 (IE 模式)”改成允许,此时Edge的“更多工具”菜单中就有了Internet选项
进入Internet选项,在“安全”选项卡下,将“Internet”、“本地Intranet”、“受信任的站点”下的自定义级别中最下面的用户身份验证/登录设置成“自动使用当前用户名和密码登录”
以上设置建议在域控服务器中统一设置好,避免每个用户需要单独设置
设置好后用Edge、Chrome均可测试