成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

深入剖析VB.NET驗證LDAP用戶身份

開發 后端
當我們想在程序代碼中實現VB.NET驗證LDAP用戶身份的時候,可以通過以下介紹的內容來逐步的完成。在這里就為大家詳細介紹一下。

VB.NET對于開發人員來說是一個功能非常強大的開發語言。它的功能特點非常突出,比如不能夠提供一個安全性非常高的開發環境等。前幾天花了兩天時間研究如何實現VB.NET驗證LDAP用戶身份,看了一些java和vb的代碼,碰了不少釘子,試驗再試驗,終于搞定,與大家分享... #t#

首先,我要講的LDAP不是微軟的Active Directory目錄服務,而是運行在SUN One上面的目錄服務。

請看VB.NET驗證LDAP用戶身份的代碼(部分敏感信息刪節):

  1. Private Sub btnTest_Click()Sub btnTest_
    Click(ByVal sender As System.Object, 
    ByVal e As System.EventArgs) Handles 
    btnTest.Click  
  2. Dim LoginName As String = txtUser.Text  
  3. Dim LoginPwd As String = txtPwd.Text  
  4. If LoginPwd = "" Then  
  5. txtResult.Text = "* Password can not be blank." 
  6. Exit Sub  
  7. End If  
  8. Dim myDirectorySearcher As DirectorySearcher  
  9. Dim mySearchResult As SearchResult  
  10. Dim myDirectoryEntry As DirectoryEntry  
  11. Dim UserName As String  
  12. txtResult.Text = "" 
  13. Try  
  14. If myDirectoryEntry.Exists("LDAP:
    //ldapserver.com/
    uid=" & LoginName & ",
    ou=people,ou=intranet,dc=yourdomainname,
    dc=com") Then  
  15. Try  
  16. myDirectoryEntry = New DirectoryEntry
    ("LDAP://ldapserver.com/
    ou=people,
    ou=intranet,dc=yourdomainname,dc=com", 
    "
    uid=" & LoginName & ",ou=people,ou=intranet,
    dc=yourdomainname,dc=com", LoginPwd, 
    AuthenticationTypes.ServerBind)  
  17. myDirectorySearcher = New Directory
    Searcher(myDirectoryEntry)  
  18. myDirectorySearcher.Filter = "
    (uid="
     & txtUser.Text & ")"  
  19. myDirectorySearcher.PropertiesToLoad.
    Add("DisplayLastName")  
  20. myDirectorySearcher.PropertiesToLoad.
    Add("DisplayFirstName")  
  21. mySearchResult = myDirectorySearcher.FindOne  
  22. If mySearchResult Is Nothing Then  
  23. txtResult.Text += "* Login failed."  
  24. Else  
  25. txtResult.Text += ">>> Login passed!" & vbCrLf  
  26. UserName = mySearchResult.GetDirectory
    Entry().Properties("DisplayFirstName").
    Value & " " & mySearchResult.GetDirectory
    Entry().Properties("DisplayLastName").Value  
  27. txtResult.Text += UserName & vbCrLf  
  28. End If  
  29. Catch ex As Exception  
  30. txtResult.Text += "* Login failed." & 
    vbCrLf & ex.Message  
  31. End Try  
  32. Else  
  33. txtResult.Text += "* Invalid user login name."  
  34. End If  
  35. Catch ex As Exception  
  36. txtResult.Text += "* Can not access the 
    LDAP server." & vbCrLf & ex.Message  
  37. End Try  
  38. End Sub 

這里要說明一下:

1、必須檢驗密碼不能為空,否則會造成驗證有誤,即空密碼能通過驗證,不知道為什么。

2、LDAP://......這最前面的四個字母LDAP必須大寫!否則報未知錯誤,不知道為什么,還得我走了一段彎路。

3、ldapserver.com需要替換成LDAP服務器的地址。

4、LDAP://......地址后面的參數,要根據你要訪問的LDAP的設置而定。

5、如果密碼不對,會引發異常,所以我在異常處理中捕獲,但是不知道這樣是否正確。

6、If mySearchResult Is Nothing Then 這句我覺得是廢話,好像怎么也不會為True,如果密碼不對,會引發異常的,但是不放心還是加上這句,可能是我的判斷邏輯有問題。

總之,這段VB.NET驗證LDAP用戶身份的代碼肯定不是最***的代碼,但是確實是可以完成任務的代碼,歡迎大家指正。

責任編輯:曹凱 來源: 博客園
相關推薦

2009-10-28 10:15:48

VB.NET框架類庫

2009-10-12 16:51:28

VB.NET使用Ora

2009-10-21 16:00:26

VB.NET CASE

2009-10-23 13:14:38

2009-11-02 16:22:16

VB.NET面向對象

2009-10-13 15:09:19

VB.NET使用Tre

2010-01-08 10:21:38

VB.NET Cont

2010-01-12 15:21:48

VB.NET權限控制

2009-10-21 10:05:30

VB.NET運行環境

2010-01-08 16:10:05

VB.NET讀寫文本文

2009-10-29 10:45:01

VB.NET設置控件

2010-01-14 14:21:07

2010-01-22 15:37:02

VB.NET監控類

2010-01-12 11:47:09

VB.NET可選參數

2010-01-21 12:55:08

VB.NET對象序列

2009-10-29 11:41:27

VB.NET寫Obje

2009-10-15 17:50:48

VB.NET調用API

2009-11-02 14:55:52

VB.NET Obje

2009-10-14 14:19:00

VB.NET創建表示層

2009-11-03 13:33:39

VB.NET對象列表
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产2区 | 久久免费视频观看 | 亚洲欧洲一区二区 | 精品国产一区二区三区在线观看 | 日韩欧美精品一区 | www日| 日韩在线资源 | 四虎影院在线观看av | 亚洲精品黄 | 日本一区二区高清视频 | 国产精品一区三区 | 久久久久久成人 | 亚洲视频中文字幕 | 国产精品欧美一区二区三区不卡 | 男人天堂网址 | 天堂av中文| 中文字幕免费中文 | 欧美精品tv | 国产精品有限公司 | 中文字幕视频在线观看免费 | 久久草在线视频 | 日日干日日射 | 欧美一区二区视频 | 亚洲精品一二区 | 九九免费观看视频 | 麻豆亚洲 | 日一区二区| 91天堂网 | 久草热8精品视频在线观看 午夜伦4480yy私人影院 | 国产成人福利在线 | 久久久久久久一区 | 日韩一级黄色片 | 91人人爽| 欧美成人免费在线视频 | 亚洲精品一区二区三区中文字幕 | 91在线免费视频 | 欧洲精品在线观看 | 欧美一级久久 | 免费观看毛片 | 一道本在线 | 国产精品九九视频 |