使用JAVA進行ad域身份驗證常用屬性詳解
一些變態的公司經常對開發者提出一些變態的問題。比如在oa系統中,要求登入驗證必須使用ad域進行登入。還有的如登入crm系統必須使用公司的阿里雲郵箱賬號進行身份驗證等等。
作為程式設計師我們只能按照客戶的需求進行完善系統。畢竟客戶才是我們的衣食父母,沒辦法拒絕。我這裡就列舉一些,在系統中整合ad域身份驗證的一些配置資訊,並一一解釋他們的作用。
直接看程式碼:
作為程式設計師我們只能按照客戶的需求進行完善系統。畢竟客戶才是我們的衣食父母,沒辦法拒絕。我這裡就列舉一些,在系統中整合ad域身份驗證的一些配置資訊,並一一解釋他們的作用。
直接看程式碼:
public boolean login() {
// 判斷必填欄位是否全部填寫
if (StringUtils.isEmpty(this.username)
|| StringUtils.isEmpty(this.domain)
|| StringUtils.isEmpty(this.ip)) {
logger.info("必填資訊為空,LDAP連線失敗!");
return false;
}
Properties env = new Properties();
String account = this.username + "@" + this.domain;
String ldapURL = "LDAP://" + this.ip + ":" + this.port;
env.put(Context.PROVIDER_URL, ldapURL);
env.put(Context.SECURITY_AUTHENTICATION, "simple");
env.put(Context.SECURITY_PRINCIPAL, account);
env.put(Context.SECURITY_CREDENTIALS, this.password);
env.put(Context.INITIAL_CONTEXT_FACTORY, "com.sun.jndi.ldap.LdapCtxFactory");
//批量處理
env.put(Context.BATCHSIZE, "50");
// 連線超時設定
env.put("com.sun.jndi.ldap.connect.timeout", "3000");
// LDAP連線池
env.put("com.sun.jndi.ldap.connect.pool", "true");
// LDAP連線池最大數
env.put("com.sun.jndi.ldap.connect.pool.maxsize", "3");
// LDAP連線池優先數
env.put("com.sun.jndi.ldap.connect.pool.prefsize", "1");
// LDAP連線池超時
env.put("com.sun.jndi.ldap.connect.pool.timeout", "300000");
// LDAP連線池初始化數
env.put("com.sun.jndi.ldap.connect.pool.initsize", "1");
// LDAP連線池的認證方式
env.put("com.sun.jndi.ldap.connect.pool.authentication", "simple");
try {
dc = new InitialLdapContext(env, null);
logger.info("域使用者" + this.username + " 登入" + account + "成功!");
return true;
} catch (Exception e) {
logger.info("域使用者" + this.username + " 登入" + account + "失敗!");
return false;
}
}
歡迎大家關注我的部落格!如有疑問,請加QQ群:135430763共同學習!
相關文章
- 使用 OAuth 2.0 進行 Kafka 身份驗證 - strimziOAuthKafka
- 使用java完成ldap身份驗證JavaLDA
- Part 3: OAuth2進行身份驗證OAuth
- WebService通過SOAP頭進行身份驗證Web
- 1.6.5.1. 準備使用密碼檔案進行身份驗證密碼
- JS驗證身份證的合法性JS
- win10 的windows身份驗證怎麼開啟_win10怎麼進行身份驗證Win10Windows
- 直播app原始碼,進行身份驗證時,檢測身份證位數夠不夠APP原始碼
- 在Linux Shell程式中進行身份驗證(轉)Linux
- 正則實現二代身份證號碼驗證詳解
- 關於Java Mail的身份驗證!JavaAI
- javascript 驗證身份證完全版,根據身份證獲取性別年齡JavaScript
- NTLM(NT LAN Manager)是一種Windows作業系統中使用的身份驗證協議,用於驗證使用者的身份以及在網路上進行安全通訊。它通常用於在區域網環境中對使用者進行身份驗證,以便他們可以訪問共享資源和其他網路服務。Windows作業系統協議
- javascript 驗證身份證JavaScript
- Flutter GetX Tag 屬性使用詳解Flutter
- display的flex屬性使用詳解Flex
- Android taskAffinity屬性使用詳解Android
- JS驗證18位身份證號的正確性JS
- 使用java連線AD域,驗證賬號密碼是否正確Java密碼
- Python進階之“屬性(property)”詳解Python
- java身份證驗證程式碼IdcardUtils.java分享Java
- JS校驗身份證號的合法性JS
- WEB身份驗證Web
- 身份證號碼的正規表示式及驗證詳解(JavaScript,Regex)JavaScript
- gRPC(七)進階:自定義身份驗證RPC
- 身份證驗證工具類
- js實現的身份證合法性驗證程式碼JS
- display屬性詳解
- cookie屬性詳解Cookie
- mvc中常見的屬性驗證MVC
- 在Linux Shell程式中進行身份驗證[修訂版] (轉)Linux
- 在Windows和UNIX下利用PHP和LDAP進行身份驗證(轉)WindowsPHPLDA
- 前端進階課程之物件屬性特性詳解前端物件
- Javascript使用正則驗證身份證號(簡單)JavaScript
- CSS字型屬性和文字屬性詳解CSS
- 實時驗證碼技術可改進生物識別身份驗證
- Java ThreadLocal 使用詳解Javathread
- asp.net 角色身份驗證的使用ASP.NET