2017-05-01 17 views
0

私はGogs(GitLabのようなGitサーバー)のようなアプリケーションで使用されるディレクトリサーバーとしてApacheDSを使用しています。私の考えはgogs-usersのようなグループを作成し、そのグループのメンバーであるユーザーだけがログインできるように、それらのグループへのログインを制限することです。私はこのためにgroupOfNamesとgogsグループに追加されたtestuserを作成しました。ユーザーがLDAPに所属するすべてのグループを取得

gogs-usersのタイプはgroupOfNamesあり、それは私のユーザーのDNを(UID = testuserを、OU =ユーザー、DC =例、DC = comなど)が含ま属性memberを持っています。だから私はこのグループのメンバーであることが分かります。

しかし、ユーザーのメンバーであるすべてのグループを見たいと思います。私がテストユーザーを開くと、彼にはgogs-usersのメンバーであることを伝える属性はありません。プロプライエタリActive DirectoryにはmemberOfという属性があり、(&(objectClass=inetOrgPerson)(memberOf=CN=gogs-user,DC=example,DC=com))のようなフィルタでクエリ可能であることを覚えています。それはまさに私が必要とするものでしょう。

これを無料のLDAP実装でどのように入手できますか?私はカスタム属性を定義する以外は何も見ません - 私は手ごとに保守しなければならなかったものです。それは良いことではない、私はそれらの属性の世話をする自動化されたソリューションを持っていると思います。

物事は私はすでに

注意しようとした:私は確認するために、各スキームのインポートが完了した後にリセットをした、ということ私のテストは以前の変更の影響を受けません。ここで

+0

(member = uid = testuser、ou = Users、DC = example、DC = com)a基本となるのは、DC = example、DC = comです。 – jwilleke

+0

@jwillekeこれは、メンバーではなく、私にグループを与えました。 'member'は' groupOfNames'の属性です。それは私が持っている問題です。グループからメンバーのユーザーへの参照のみですが、ユーザーからグループへの参照ではありません。 ADでは 'memberOf'属性がこの問題を修正しています。 – Lion

答えて

0

は、どちらかの道を行くだけのMicrosoft Active Directoryのために動作しますクエリは、次のとおりです。

は、セキュリティ・グループ(少なくともWindows 2003のSP2が必要)(ネストを含む)all membersを解決:

(memberOf:1.2.840.113556.1.4.1941:=CN=gogs-user,DC=example,DC=com) 

と すべてのグループa User is a member ofネストされたグループを含む

(member:1.2.840.113556.1.4.1941:=CN=UserName,CN=Users,DC=YOURDOMAIN,DC=NET)) 
+0

私は最初の文章で言ったように、私はADにはいません。私は過去にADで働いていましたが、私はこれを知っていますが、私はApacheDS上のLDAPにも同様のソリューションが必要です。 – Lion

関連する問題