none
ユーザ情報を参照するためのLDAP認証の開発について RRS feed

  • 質問

  • ユーザ情報を参照するためのLDAPの開発について

     

    ASP.NETで開発しています。

    (VBで開発)

     

    画面上で表示されているユーザIDを基に、LADP認証を利用して、部署名等の情報を検索する機能を作成しようと考えています。

    いろいろ関連する資料等検索しているのですが、いい情報が検索できません。

     

    作成するにあたり参考になる資料のURLまたは、参考書(本)等の照会をよろしくお願いします。

     

    または、参考となるサンプルコード等がありましたら、教えてください。

     

    以上

     

    (情報が不足している場合は、指摘ください。追加して記述していきます。)

     

    2008年6月18日 10:33

回答

  • http://www.microsoft.com/japan/msdn/net/security/SecNetHT02.aspx

     

    このあたりが参考になりそうですね。

    DirectorySearcherを利用してLDAPの検索もできるみたいです。

     

    2008年6月19日 1:39
  • 小野さんが提示してくれたURLに載っているのとは異なるところもありますが参考までに。

     

    指定したユーザを検索

      Private Function FindUser(ByVal UserLogonName As String) As DirectoryEntry
        Using Root As New DirectoryEntry("LDAP://DC=○○,DC=○○,・・・")
          Using Searcher As New DirectorySearcher(Root)
            Searcher.Filter = String.Format("(&(objectClass=user)(name={0}))", UserLogonName)
            Dim Result As SearchResult = Searcher.FindOne()
            If Result Is Nothing Then
              Return Nothing
            Else
              Return Result.GetDirectoryEntry()
            End If
          End Using
        End Using
      End Function


     

    指定した部署名のユーザのリストを取得

      Private Function GetUsers(ByVal Department As String) As List(Of DirectoryEntry)
        Using Root As New DirectoryEntry("LDAP://DC=○○,DC=○○,・・・")
          Using Searcher As New DirectorySearcher(Root)
            Searcher.Filter = String.Format("(&(objectClass=user)(department={0}))", Department)
            Dim ResCol As SearchResultCollection = Searcher.FindAll()
            Dim EntryList As New List(Of DirectoryEntry)
            For Each Result As SearchResult In ResCol
              EntryList.Add(Result.GetDirectoryEntry())
            Next
            Return EntryList
          End Using
        End Using
      End Function

    2008年6月22日 19:21

すべての返信

  • http://www.microsoft.com/japan/msdn/net/security/SecNetHT02.aspx

     

    このあたりが参考になりそうですね。

    DirectorySearcherを利用してLDAPの検索もできるみたいです。

     

    2008年6月19日 1:39
  • どっとねっとふぁん様へ

     

    早速の回答ありがとうございます。

    指摘されたurlを参考にして、理解したいと考えています。

     

     

     

    2008年6月20日 7:35
  • 小野さんが提示してくれたURLに載っているのとは異なるところもありますが参考までに。

     

    指定したユーザを検索

      Private Function FindUser(ByVal UserLogonName As String) As DirectoryEntry
        Using Root As New DirectoryEntry("LDAP://DC=○○,DC=○○,・・・")
          Using Searcher As New DirectorySearcher(Root)
            Searcher.Filter = String.Format("(&(objectClass=user)(name={0}))", UserLogonName)
            Dim Result As SearchResult = Searcher.FindOne()
            If Result Is Nothing Then
              Return Nothing
            Else
              Return Result.GetDirectoryEntry()
            End If
          End Using
        End Using
      End Function


     

    指定した部署名のユーザのリストを取得

      Private Function GetUsers(ByVal Department As String) As List(Of DirectoryEntry)
        Using Root As New DirectoryEntry("LDAP://DC=○○,DC=○○,・・・")
          Using Searcher As New DirectorySearcher(Root)
            Searcher.Filter = String.Format("(&(objectClass=user)(department={0}))", Department)
            Dim ResCol As SearchResultCollection = Searcher.FindAll()
            Dim EntryList As New List(Of DirectoryEntry)
            For Each Result As SearchResult In ResCol
              EntryList.Add(Result.GetDirectoryEntry())
            Next
            Return EntryList
          End Using
        End Using
      End Function

    2008年6月22日 19:21
  • こんにちは。中川俊輔 です。

     

    どっとねっとふぁんさん、mitchinさん、回答ありがとうございます。

     

    tanuyoshi さん、フォーラムのご利用ありがとうございます。

    有用な情報と思われたため、

    どっとねっとふぁんさん、mitchinさんの回答へ回答済みチェックをつけさせていただきました。

     

    回答済みチェックが付くことにより、有用な情報を探している方が情報を見つけやすくなります。
    有用な情報と思われる回答があった場合は、なるべく回答済みボタンを押してチェックを付けてください。

    tanuyoshi さんはチェックを解除することもできますので、ご確認ください。

     

    それでは!

    2008年7月7日 9:13