Java 集成域登陸
阿新 • • 發佈:2019-05-08
只需要 cifs tro ppi tails 登陸 com XML csv
參考:
1. JAVA中使用jcifs集成AD域用戶認證
2. https://liaosy.iteye.com/blog/1887092
實戰開始
1.根據參考1中的jar包,下載後放入lib,
a. 加入buildpath
b 加入 deployment assembly
2. web.xml 中加入:
<filter> <filter-name>NtlmHttpFilter</filter-name> <filter-class>jcifs.http.NtlmHttpFilter</filter-class> <init-param> <param-name>jcifs.http.domainController</param-name> <param-value>10.122.74.146</param-value> </init-param> <init-param> <param-name>jcifs.smb.client.domain</param-name> <param-value>csvw.com</param-value> </init-param> <init-param> <param-name>jcifs.smb.lmCompatibility</param-name> <param-value>0</param-value> </init-param> <init-param> <param-name>jcifs.smb.client.useExtenededSecurity</param-name> <param-value>false</param-value> </init-param> <init-param> <param-name>jcifs.smb.client.soTimeout</param-name> <param-value>35000</param-value> </init-param> </filter> <filter-mapping> <filter-name>NtlmHttpFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>
3 如果你的開發機不是win7 請跳過這一步。因為我的虛機是win7 ,因此需要改下。
JCIFS的HttpFilter並不支持NTLM2協議,而當客戶端是WIN7系統時,默認采用的是NTLM2協議。
如果已經使用JCIFS 作為解決方案, 只需要暫時解決Win7 等系統的問題的話。如何臨時解決以上問題。
解決方法是增加或修改註冊表的以下信息:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa中新建一個dword值LMCompatibilityLevel,值為0,即可解決.
參考: https://blog.csdn.net/oscar999/article/details/21372227?locationNum=8
.
4.運行起來看看,跳出來了(因為我測試機不是域登陸,所以會跳出來,如果你是域登陸的機器,應該就不會跳出來了,會直接進去):
5. 在登陸頁面的方法裏加上代碼,打印出來了,成功!
Java 集成域登陸