গিটল্যাব অ্যাক্টিভ ডিরেক্টরি প্রমাণীকরণ: কোনও ফলাফল এবং কোনও প্রমাণীকরণ নয়


8

আমি গিটল্যাবের সাথে এলডিএপি প্রমাণীকরণ সেট আপ করার চেষ্টা করছি (সংস্করণ 7.12.2 উবুন্টুতে 14.04 এএমডি 64 তে একটি ভিএম, ওমনিবাস সেটআপ করা আছে)। আমি আমার gitlab.rb ফাইলটি নীচের মত দেখতে সম্পাদনা করেছি:

gitlab_rails['ldap_enabled'] = true
gitlab_rails['ldap_servers'] = YAML.load <<-'EOS' # remember to close this block with 'EOS' below
 main: # 'main' is the GitLab 'provider ID' of this LDAP server
   label: 'LDAP'
   host: '********'
   port: 389
   uid: 'sAMAccountName'
   method: 'plain' # "tls" or "ssl" or "plain"
   bind_dn: 'CN=********,OU=********,OU=********,DC=********,DC=***'
   password: '********'
   active_directory: true
   allow_username_or_email_login: false
   block_auto_created_users: false
   base: 'DC=********,DC=***'
   user_filter: ''
EOS

ভয়ঙ্কর এই ফলাফল "Ldapmain থেকে আপনাকে অনুমোদিত করতে পারেনি কারণ" অবৈধ শংসাপত্র "। ত্রুটি. আমি চেষ্টা করেছি, ব্যবহারকারীর নামটির জন্য (bind_dn পরিবর্তনশীল): "johnsmith@example.com" (ব্যবহারকারীর নাম ভিত্তিক ইমেল), "জন স্মিথ" (পুরো নাম) এবং "জনস্মিথ" (ব্যবহারকারীর নাম)। ফলাফল সবসময় একই থাকে। আমার পাসওয়ার্ডে এটিতে একটি @-সাইন রয়েছে। আমি এ থেকে বাঁচতে হবে কিনা তা নিশ্চিত না বা কীভাবে।

লগগুলি এটি দেখায়:

Started POST "/users/auth/ldapmain/callback" for 127.0.0.1 at 2015-07-22 17:15:01 -0400
Processing by OmniauthCallbacksController#failure as HTML
  Parameters: {"utf8"=>"✓", "authenticity_token"=>"[FILTERED]", "username"=>"********", "password"=>"[FILTERED]"}
Redirected to http://192.168.56.102/users/sign_in
Completed 302 Found in 14ms (ActiveRecord: 3.6ms)
Started GET "/users/sign_in" for 127.0.0.1 at 2015-07-22 17:15:01 -0400
Processing by SessionsController#new as HTML
Completed 200 OK in 20ms (Views: 8.3ms | ActiveRecord: 2.9ms)

এবং এটি gitlab-rake gitlab:ldap:checkদেখায়:

Checking LDAP ...

LDAP users with access to your GitLab server (only showing the first 100 results)
Server: ldapmain

Checking LDAP ... Finished

যাইহোক, আমি যখন উবুন্টু ভিএম (একই পরিবেশ) থেকে এলডিপসার্ক ব্যবহার করি, তখন আমি একগুচ্ছ ফলাফল পেতে পারি:

ldapsearch -x -h ******** -D "********@********.***" -W -b "OU=********,OU=********,DC=********,DC=***" -s sub "(cn=*)" cn mail sn dn

কৌতূহলজনকভাবে, ফলাফলগুলিতে ডিএন এর চেহারা দেখতে এটি:

dn: CN=John Smith,OU=********,OU=********,OU=********,DC=********,DC=***

অর্থাত্, সেখানে একটি অতিরিক্ত OU আছে। আমি আরও দেখতে পেলাম যে ldapsearch কমান্ডটি রয়েছে -s sub, যা আমি বিশ্বাস করি যে উপগোষ্ঠীগুলি অনুসন্ধান করা। আমি এলডিএপি বা অ্যাক্টিভ ডিরেক্টরিতে আউটস এবং আউটস এর সাথে অতি পরিচিত নই।

সুতরাং আমি বিশ্বাস করি যে আমি আমার বেসে কিছু অনুপস্থিত, তবে আমি কী জানি না। এটি ব্যবহারকারী ফিল্টার নিয়েও সমস্যা হতে পারে। আমি প্রয়োজনীয় গুগলিং করেছি, যা আমাকে এ পর্যন্ত পেয়েছে, কিন্তু এখন আমি ধারণা এবং সমাধানের বাইরে রয়েছি।


1
আপনার প্রবেশের জন্য baseকিছুটা ছোট দেখাচ্ছে। আপনি যখন আপনার ldapsearch ফলাফল থেকে পুরো পথটি রেখেছেন তখন কী হবে (সমস্ত OUs সহ)?
etagenklo

@etagenklo: আপনি সঠিক বলেছেন। আমি অন্যান্য কিছু পরিবর্তন করেছি এবং এটি কাজে পেতে সক্ষম হয়েছি। আমি উত্তরসূরির উত্তর হিসাবে পোস্ট করব।
স্যারাইড

এই উত্তরটি সহায়ক হতে পারে: stackoverflow.com/a/54462889/6290553
রক্তিম বিশ্বাস

উত্তর:


11

আমি বিভিন্ন সমাধানের পরেও এটি সমাধান করতে সক্ষম হয়েছি। কয়েকটি নোট:

  • নিশ্চিত করুন যে প্রথমটি ব্যতীত অন্যান্য সমস্ত লাইনের ইনডেন্টের জন্য একটি একক স্থান রয়েছে। প্রথম লাইনটি হ'ল "প্রধান:" এবং এটির কোনও ইনডেন্ট নেই।
  • Bind_dn বাইন্ড ব্যবহারকারীর জন্য সম্পূর্ণ এলডিএপি পাথ নয়, তবে কেবল ব্যবহারকারীর নাম। আমার ক্ষেত্রে এটি "xxx@example.com"।
  • বেসটি সক্রিয় ডিরেক্টরি গোষ্ঠী বা ডিএন বা এটি যাহা বলা হয় তাতে সমস্ত ব্যবহারকারী থাকে।

এখানে চূড়ান্ত ওয়াইএএমএল:

main: # 'main' is the GitLab 'provider ID' of this LDAP server
 label: 'Active Directory'
 host: 'ad-server.example.com'
 port: 389
 uid: 'sAMAccountName'
 method: 'plain' # "tls" or "ssl" or "plain"
 bind_dn: 'user@example.com'
 password: 'password'
 active_directory: true
 allow_username_or_email_login: false
 block_auto_created_users: false
 base: 'OU=ABC,OU=XYZ,DC=example,DC=com'
 user_filter: ''

1
এত +1! পুরো স্ট্যাকেক্সচেঞ্জ নেটওয়ার্কে এটিই আমার জন্য একমাত্র সমাধান যা কাজ করছিল!
নায়ের
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.