আপনি Apigee Edge-এর ডকুমেন্টেশন দেখছেন।
Apigee X ডকুমেন্টেশন .info- তে যান।
কী
LDAP নীতিমালায় রয়েছে:
- প্রমাণীকরণ : অনুরোধে সরবরাহ করা ব্যবহারকারীর পরিচয়পত্র LDAP প্রদানকারীর পরিচয়পত্রের সাথে মিলিয়ে যাচাই করা হয়। LDAP নীতি আপনাকে প্রমাণীকরণের ক্ষেত্রে অনেক নমনীয়তা দেয়, যার ফলে আপনি পাসওয়ার্ডের সাথে যেকোনো DN মান ব্যবহার করতে পারেন, এমনকি আপনার কাঙ্ক্ষিত DN মানটি অনুরোধে না থাকলেও। উদাহরণস্বরূপ, ধরুন প্রমাণীকরণের জন্য আপনার ইমেল/পাসওয়ার্ড ব্যবহার করার প্রয়োজন। এক্ষেত্রে নিম্নলিখিত বিকল্পগুলো সম্ভব:
- অনুরোধে ইমেলটি থাকলে, আপনি LDAP প্রমাণীকরণের জন্য পাসওয়ার্ডের সাথে সেটি ব্যবহার করতে পারেন।
- যদি অনুরোধে ইমেল না থাকে, কিন্তু অন্য কোনো ডিএন অ্যাট্রিবিউট (যেমন ফোন নম্বর) থাকে, তাহলে আপনি ফোন নম্বরটি ব্যবহার করে এলড্যাপ (LDAP) থেকে সংশ্লিষ্ট ইমেলটি পেতে পারেন, তারপর প্রমাণীকরণের জন্য ইমেল / পাসওয়ার্ড ব্যবহার করতে পারেন।
- ডিস্টিংগুইশড নেম (DN) সার্চ : অথেনটিকেশনের পাশাপাশি, আপনি অনুরোধে থাকা ব্যবহারকারীর কোনো অ্যাট্রিবিউট (যেমন ইমেল) শনাক্ত করতে এবং সেই ব্যবহারকারীর জন্য LDAP থেকে অন্যান্য DN অ্যাট্রিবিউট পুনরুদ্ধার করার জন্য একটি কোয়েরি চালাতে LDAP পলিসি ব্যবহার করতে পারেন। পুনরুদ্ধার করা DN-টি একটি ভেরিয়েবলে সংরক্ষণ করা হয়।
যখন সুরক্ষিত রিসোর্সগুলিতে অ্যাক্সেস আপনার LDAP প্রোভাইডারের ব্যবহারকারীদের—যেমন আপনার অ্যাডমিন ব্যবহারকারী, প্রতিষ্ঠানের ব্যবহারকারী এবং ডেভেলপারদের—মধ্যে সীমাবদ্ধ রাখা প্রয়োজন, তখন LDAP পলিসি ব্যবহার করুন; বিশেষ করে যখন OAuth টোকেন অ্যাক্সেস অপ্রয়োজনীয় বা অতিরিক্ত ভারী হয়। এই পলিসিটি API প্রক্সি ফ্লো-তে ব্যবহারের জন্য ডোমেইন নেমের মেটাডেটা পুনরুদ্ধার করার উদ্দেশ্যেও তৈরি করা হয়েছে।
উদাহরণস্বরূপ, আপনি এমন ব্যবস্থা করতে পারেন যে কোনো ব্যবহারকারী LDAP-এর মাধ্যমে সফলভাবে প্রমাণীকৃত হলেই কেবল একটি API কল কার্যকর হবে; এবং তারপর, প্রমাণীকরণ সফল হওয়ার পর ঐচ্ছিকভাবে সেই ব্যবহারকারীর DN (ডোমেইন নেম) অ্যাট্রিবিউটগুলো পুনরুদ্ধার করা যাবে।
অতিরিক্ত তথ্যের জন্য দেখুন:
- এপিআই ব্যবস্থাপনার জন্য ডিফল্ট এলড্যাপ পাসওয়ার্ড নীতি পরিচালনা করা
- Apigee কমিউনিটিতে আপনার পাসওয়ার্ড নীতি সম্পর্কে গুরুত্বপূর্ণ তথ্য ।
নমুনা
ব্যবহারকারীর নাম/পাসওয়ার্ড প্রমাণীকরণ
<Ldap name="4GLdapPolicy">
<LdapResource>ldap1</LdapResource>
<Authentication>
<UserName ref="request.header.username"/>
<Password ref="request.header.password"/>
<Scope>subtree</Scope>
<BaseDN ref="apigee.baseDN"></BaseDN> <!-- default is dc=apigee,dc=com -->
</Authentication>
</Ldap>এই নমুনাটি একটি LDAP প্রোভাইডারের বিপরীতে প্রমাণীকরণ প্রদান করে। পলিসিটি প্রমাণীকরণের জন্য অনুরোধ থেকে ইউজারনেম এবং পাসওয়ার্ড LDAP-এ প্রেরণ করে।
DN অ্যাট্রিবিউট প্রমাণীকরণ
<Ldap name="LdapPolicy">
<LdapResource>ldap1</LdapResource>
<Authentication>
<Password ref="request.header.password"/>
<SearchQuery>mail={request.header.mail}</SearchQuery>
<Scope>subtree</Scope>
<BaseDN ref="apigee.baseDN"></BaseDN> <!-- default is dc=apigee,dc=com -->
</Authentication>
</Ldap>এই পলিসিটি রিকোয়েস্ট হেডারে থাকা ইমেইলের সাহায্যে ব্যবহারকারীর ডিএন (DN) সংগ্রহ করে, তারপর রিকোয়েস্ট হেডারে দেওয়া পাসওয়ার্ড ব্যবহার করে এলড্যাপ (LDAP)-এর মাধ্যমে ব্যবহারকারীকে প্রমাণীকরণ করে।
LDAP অনুসন্ধান করা হচ্ছে
<Ldap name="LdapPolicy"> <!-- using a custom LDAP provider --> <LdapConnectorClass>com.custom.ldap.MyProvider</LdapConnectorClass> <LdapResource>MyLdap</LdapResource> <Search> <BaseDN ref="apigee.baseDN"></BaseDN> <!-- default is dc=apigee,dc=com --> <SearchQuery>mail={request.header.mail}</SearchQuery> <Attributes> <Attribute>address</Attribute> <Attribute>phone</Attribute> <Attribute>title</Attribute> </Attributes> <Scope></Scope> <!-- default is ‘subtree’ --> </Search> </Ldap>
এই পলিসিটি একটি কাস্টম LDAP প্রোভাইডারকে নির্দেশ করে। এটি ব্যবহারকারীকে শনাক্ত করার জন্য রিকোয়েস্ট হেডারে থাকা ইমেল অ্যাড্রেস ব্যবহার করে, তারপর LDAP থেকে ব্যবহারকারীর ঠিকানা, ফোন এবং পদবি পুনরুদ্ধার করে। পুনরুদ্ধার করা DN অ্যাট্রিবিউটগুলো একটি ভেরিয়েবলে সংরক্ষণ করা হয়। "পলিসি-নির্দিষ্ট ভেরিয়েবল" অংশটি দেখুন।
LDAP অনুসন্ধান করতে এবং DN অ্যাট্রিবিউট পুনরুদ্ধার করতে, অনুরোধটিতে অবশ্যই প্রশাসকের পরিচয়পত্র অন্তর্ভুক্ত থাকতে হবে।
উপাদান রেফারেন্স
নিম্নে LDAP পলিসির উপাদান ও বৈশিষ্ট্যগুলোর বর্ণনা দেওয়া হলো।
উপাদান | বর্ণনা |
|---|---|
| প্যারেন্ট এলিমেন্ট, যেখানে একটি name অ্যাট্রিবিউট রয়েছে, যাতে আপনি পলিসির নাম লিখতে পারেন। |
| Apigee-র সরবরাহ করা নয় এমন কোনো কাস্টম LDAP প্রোভাইডারের সাথে LDAP পলিসি ব্যবহার করার সময়, সম্পূর্ণ যোগ্যতাসম্পন্ন LDAP কানেক্টর ক্লাসটি নির্দিষ্ট করুন। এটি সেই ক্লাস, যেখানে আপনি Apigee-র |
| LDAP রিসোর্সের এনভায়রনমেন্ট নামটি লিখুন। আরও তথ্যের জন্য ‘একটি LDAP রিসোর্স তৈরি করুন’ দেখুন। |
| LDAP-এর মূল স্তর, যার অধীনে আপনার সমস্ত ডেটা থাকে। উদাহরণস্বরূপ, Apigee-এর LDAP প্রোভাইডারে, সমস্ত ডেটা
|
|
|
প্রমাণীকরণ | |
| আপনার প্রয়োগ করা প্রমাণীকরণ আচরণের জন্য মূল উপাদান। |
| একটি খালি এলিমেন্ট যা নিম্নলিখিত অ্যাট্রিবিউটগুলোর মধ্যে যেকোনো একটি গ্রহণ করে:
যদি আপনি ইউজারনেম দিয়ে প্রমাণীকরণ না করেন, অথবা অনুরোধে ইউজারনেম অন্তর্ভুক্ত না থাকে, তাহলে এই এলিমেন্টটি অন্তর্ভুক্ত করার প্রয়োজন নেই। যদি অনুরোধে ইউজারনেম থাকে, কিন্তু আপনি ইউজারনেম ছাড়া অন্য কোনো ডিএন অ্যাট্রিবিউট (যেমন ইমেল) দিয়ে কোনো ব্যবহারকারীকে প্রমাণীকরণ করতে চান, তাহলে পাসওয়ার্ডের সাথে যুক্ত ব্যবহারকারীর ইমেলটি পাওয়ার জন্য একটি |
| একটি খালি এলিমেন্ট যা নিম্নলিখিত অ্যাট্রিবিউটগুলোর মধ্যে যেকোনো একটি গ্রহণ করে:
|
| আপনি যদি ইউজারনেম ছাড়া অন্য কোনো ডিএন অ্যাট্রিবিউট, যেমন ইমেল, ব্যবহার করে প্রমাণীকরণ করতে চান, তাহলে এলড্যাপ পলিসিটি এমনভাবে কনফিগার করুন যাতে এটি রিকোয়েস্ট থেকে একটি ডিএন অ্যাট্রিবিউট (যেমন ইউজারনেম) গ্রহণ করে, যা এলড্যাপে ব্যবহারকারীকে শনাক্ত করতে, ইমেল পুনরুদ্ধার করতে এবং ব্যবহারকারীকে প্রমাণীকরণ করতে ব্যবহৃত হয়। উদাহরণস্বরূপ, ধরে নেওয়া যাক LDAP ইমেল ঠিকানা সংরক্ষণের জন্য একটি 'mail' অ্যাট্রিবিউট সংজ্ঞায়িত করে: |
অনুসন্ধান | |
| আপনার প্রয়োগ করা সার্চ আচরণের জন্য প্যারেন্ট এলিমেন্ট। |
| অনুরোধ বা প্রতিক্রিয়ায় মেটাডেটার মাধ্যমে ব্যবহারকারীকে শনাক্ত করে, আপনি LDAP থেকে ব্যবহারকারীর জন্য অতিরিক্ত DN অ্যাট্রিবিউট পুনরুদ্ধার করতে এই উপাদানটি ব্যবহার করতে পারেন। উদাহরণস্বরূপ, যদি অনুরোধে ব্যবহারকারীর ইমেল থাকে, এবং আপনার LDAP ব্যবহারকারীর ইমেল ঠিকানা সংরক্ষণের জন্য একটি এই কোয়েরিটি অনুরোধে থাকা ইমেলের সাথে মেলে এমন একটি ইমেলের জন্য LDAP-এ অনুসন্ধান করে, এবং পলিসিটি এখন Attributes এলিমেন্টের মাধ্যমে সেই ব্যবহারকারীর জন্য অতিরিক্ত DN অ্যাট্রিবিউটগুলো পুনরুদ্ধার করতে পারে। |
| ব্যবহারকারীর জন্য আপনি যে DN মেটাডেটা পুনরুদ্ধার করতে চান তা শনাক্ত করতে এক বা একাধিক উদাহরণস্বরূপ, অ্যাট্রিবিউট ভ্যালুগুলো হলো আপনার LDAP-এ সংজ্ঞায়িত DN অ্যাট্রিবিউটের নাম। <Attributes> <Attribute>address</Attribute> <Attribute>phone</Attribute> <Attribute>title</Attribute> </Attributes> |
ব্যবহারের নির্দেশাবলী
Apigee Edge for Private Cloud আপনাকে API কলে একটি LDAP প্রোভাইডার ব্যবহার করার সুযোগ দেয়। LDAP পলিসির মাধ্যমে, অ্যাপ্লিকেশনগুলো LDAP-এ সংরক্ষিত ব্যবহারকারীদের ক্রেডেনশিয়াল প্রমাণীকরণ করতে পারে এবং আপনি LDAP থেকে ডিস্টিংগুইশড নেম (DN) পুনরুদ্ধার করতে পারেন—যা হলো প্রতিটি ব্যবহারকারীর সাথে সম্পর্কিত মেটাডেটা বা অ্যাট্রিবিউট, যেমন ইমেল, ঠিকানা এবং ফোন নম্বর। প্রাপ্ত DN-টি API প্রক্সির পরবর্তী ব্যবহারের জন্য একটি ভেরিয়েবলে সংরক্ষণ করা হয়।
একটি LDAP রিসোর্স তৈরি করুন
LDAP পলিসিটি Apigee Edge-এ আপনার তৈরি করা একটি LDAP রিসোর্স ব্যবহার করে। একটি LDAP রিসোর্স আপনার LDAP রিপোজিটরির সংযোগের তথ্য সরবরাহ করে।
LDAP রিসোর্স তৈরি ও পরিচালনা করতে, নিম্নলিখিত API এবং পেলোড ব্যবহার করুন:
এপিআই
একটি LDAP রিসোর্স তৈরি ( POST ) করুন অথবা সমস্ত LDAP রিসোর্সের তালিকা ( GET ) দেখুন:
/v1/organizations/org_name/environments/environment/ldapresources
একটি LDAP রিসোর্সের বিবরণ পেতে ( GET ), আপডেট করতে ( POST ), এবং ডিলিট করতে ( DELETE ):
/v1/organizations/org_name/environments/environment/ldapresources/ldap_resource_name
পেলোড
নিচে ব্যবহারবিধিসহ একটি নমুনা XML পেলোড দেওয়া হলো।
<LdapResource name="ldap1"> <Connection> <Hosts> <!-- port is optional: defaults to 389 for ldap:// and 636 for ldaps:// --> <Host port="636">foo.com</Host> </Hosts> <SSLEnabled>false</SSLEnabled> <!-- optional, defaults to false --> <Version>3</Version> <!-- optional, defaults to 3--> <Authentication>simple</Authentication> <!-- optional, only simple supported --> <ConnectionProvider>jndi|unboundid</ConnectionProvider> <!-- required --> <ServerSetType>single|round robin|failover</ServerSetType> <!-- not applicable for jndi --> <!-- If using a custom LDAP provider, the fully qualified class: --> <LdapConnectorClass>com.custom.ldap.MyProvider</LdapConnectorClass> </Connection> <ConnectPool enabled="true"> <!-- enabled is optional, defaults to true --> <Timeout>30000</Timeout> <!-- optional, in milliseconds; if not set, no timeout --> <Maxsize>50</Maxsize> <!-- optional; if not set, no max connections --> <Prefsize>30</Prefsize> <!-- optional; if not set, no pref size --> <Initsize></Initsize> <!-- optional; if not set, defaults to 1 --> <Protocol></Protocol> <!-- optional; if not set, defaults to 'ssl plain' --> </ConnectPool> <Admin> <DN>cn=manager,dc=apigee,dc=com</DN> <Password>secret</Password> </Admin> </LdapResource>
curl উদাহরণ: একটি LDAP রিসোর্স তৈরি করুন
নিম্নলিখিত উদাহরণটি ldap1 নামের একটি LDAP রিসোর্স তৈরি করে।
curl -X POST -H "Content-Type: application/xml" \ https://api.enterprise.apigee.com/v1/organizations/myorg/environments/test/ldapresources \ -u apigee_email:password -d \ '<LdapResource name="ldap1"> <Connection> <Hosts> <Host>foo.com</Host> </Hosts> <SSLEnabled>false</SSLEnabled> <Version>3</Version> <Authentication>simple</Authentication> <ConnectionProvider>unboundid</ConnectionProvider> <ServerSetType>round robin</ServerSetType> </Connection> <ConnectPool enabled="true"> <Timeout>30000</Timeout> <Maxsize>50</Maxsize> <Prefsize>30</Prefsize> <Initsize></Initsize> <Protocol></Protocol> </ConnectPool> <Admin> <DN>cn=manager,dc=apigee,dc=com</DN> <Password>secret</Password> </Admin> </LdapResource>'
প্রতিক্রিয়া কোড
পলিসিটি সফল বা ব্যর্থ হলে নিম্নলিখিত HTML প্রতিক্রিয়া কোডগুলি ফেরত দেয়:
- সাফল্য : ২০০
- ব্যর্থতা : ৪০১
Edge for Private Cloud-এ একটি কাস্টম LDAP প্রোভাইডার ব্যবহার করা
একটি কাস্টম LDAP প্রদানকারী ব্যবহার করে
Apigee Edge for Private Cloud-এর সাথে একটি LDAP প্রোভাইডার আসে যা LDAP পলিসির সাথে কাজ করার জন্য আগে থেকেই কনফিগার করা থাকে। তবে, আপনি যদি একটি কাস্টম LDAP প্রোভাইডার ব্যবহার করেন, তাহলে আপনাকে অবশ্যই প্রোভাইডারটিকে LDAP পলিসি সাপোর্ট করার জন্য সক্ষম করতে হবে। এটি করতে:
- আপনার LDAP প্রোভাইডার ক্লাসে
ExternalLdapConProviderইন্টারফেসটি ইমপ্লিমেন্ট করুন।public interface ExternalLdapConProvider { void doAuthentication(LdapBean LlapBean, String userDN, String password, String baseDN); void doSearchAndAuthentication(LdapBean LlapBean, String password, String baseDN, String query, int scope); Collection<Map<String, String[]>> doSearch(LdapBean LlapBean, String query, String baseDN, Collection<String> requiredAttributes, int scope); void closeConnections(); } - পলিসি কনফিগারেশনের
<LdapConnectorClass>অংশে (পরবর্তী বিভাগগুলিতে), আপনার কাস্টম LDAP প্রোভাইডারের সম্পূর্ণ ক্লাস নামটি যোগ করুন। - এই ফাইলটি ডাউনলোড করুন: custom-ldap.jar_.zip । (আপনাকে রাইট-ক্লিক করে 'Save As' নির্বাচন করতে হতে পারে।)
- এটা আনজিপ করুন।
- custom-ldap.jar ফাইলটি আপনার এনভায়রনমেন্টে যোগ করুন এবং নিশ্চিত করুন যে এটি আপনার ক্লাসপাথে রয়েছে।
- আপনার LDAP প্রোভাইডারের জন্য একটি এনভায়রনমেন্ট রিসোর্স তৈরি করুন। আপনি LDAP পলিসির
<LdapResource>এলিমেন্টে এনভায়রনমেন্ট রিসোর্সের নামটি ব্যবহার করবেন।
জাভার জন্য আনবাউন্ডআইডি এলড্যাপ এসডিকে ব্যবহার করা
আপনি LDAP পলিসির সাথে UnboundID LDAP SDK ব্যবহার করতে পারেন, কিন্তু তার জন্য আপনাকে প্রথমে সংস্করণ ২.৩.১ ডাউনলোড করে আপনার প্রতিটি মেসেজ প্রসেসরের ক্লাসপাথে যোগ করতে হবে।
LDAP পলিসির সাথে UnboundID LDAP SDK ব্যবহার করতে:
- একটি ব্রাউজার খুলুন এবং UnboundID LDAP SDK-এর Sourceforge ফাইল রিপোজিটরিতে যান:
https://sourceforge.net/projects/ldap-sdk/files/
- SDK-এর ভার্সন ২.৩.১ (SE বা স্ট্যান্ডার্ড এডিশন ) খুঁজুন এবং সেই ভার্সনের ZIP ফাইলটি ডাউনলোড করুন। উদাহরণস্বরূপ, 'unboundid-ldapsdk-2.3.1-se.zip' ডাউনলোড করুন।
- নিচের উদাহরণে দেখানো অনুযায়ী SDK ZIP ফাইল থেকে JAR ফাইলটি এক্সট্র্যাক্ট করুন:
unzip -j -d ~/tmp ~/Downloads/unboundid-ldapsdk-2.3.1-se.zip unboundid-ldapsdk-2.3.1-se/unboundid-ldapsdk-se.jar
এই কমান্ডটি শুধু JAR ফাইলটিকে ~/tmp ডিরেক্টরিতে এক্সট্র্যাক্ট করে।
-jবিকল্পটি ব্যবহার করলে ডিরেক্টরি কাঠামোটি মুছে যায়, যদিও এটি ঐচ্ছিক। - প্রতিটি মেসেজ প্রসেসর নোডে:
- JAR ফাইলটি মেসেজ প্রসেসরের
/opt/apigee/edge-gateway/lib/thirdpartyডিরেক্টরিতে কপি করুন। - প্রয়োজনে, JAR ফাইলটিতে Apigee ব্যবহারকারীকে অনুমতি দিন যাতে মেসেজ প্রসেসর এটি অ্যাক্সেস করতে পারে।
Edge
/opt/apigee/edge-gateway/lib/thirdpartyডিরেক্টরিতে থাকা সমস্ত থার্ড-পার্টি লাইব্রেরিকে ক্লাসপাথে যুক্ত করে। - JAR ফাইলটি মেসেজ প্রসেসরের
- মেসেজ প্রসেসরটি পুনরায় চালু করুন:
/opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
প্রবাহ পরিবর্তনশীল
নিম্নলিখিতগুলি হল LDAP পলিসি ভেরিয়েবল যা একটি SearchQuery দ্বারা পূরণ করা হয়।
পরিবর্তনশীল | বর্ণনা |
|---|---|
ldap.policyName.execution.success | পলিসিটি কার্যকর হওয়ার পর, ফলাফলের ওপর নির্ভর করে এই ফ্লো ভেরিয়েবলটিতে 'true' বা 'false' মান থাকে। |
ldap.policyName.search.result[index]. attribute.attrName[index]=value | এই ভেরিয়েবলের নমনীয় ফর্ম্যাট, বিশেষ করে এর ইনডেক্স, একাধিক অ্যাট্রিবিউট এবং একাধিক মানযুক্ত অ্যাট্রিবিউটকেও সমর্থন করে। ইনডেক্স হলো একটি সংখ্যা যা ১ থেকে শুরু হয়। যদি কোনো ইনডেক্স নম্বর প্রদান করা না হয়, তবে ডিফল্ট ইনডেক্স নম্বরটি হলো ১। যদি পলিসিটি ঠিকানা, ফোন এবং ইমেল ফেরত দেয়, তাহলে আপনি এই ভেরিয়েবলগুলো ব্যবহার করে প্রথম অ্যাট্রিবিউট এবং ভ্যালুটি পুনরুদ্ধার করতে পারেন: ldap.policyName.search.result.attribute.address ldap.policyName.search.result.attribute.phone ldap.policyName.search.result.attribute.email আপনি যদি সার্চ রেজাল্ট থেকে তৃতীয় অ্যাড্রেস অ্যাট্রিবিউটটি পেতে চান, তাহলে এটি ব্যবহার করবেন: ldap.policyName.search.result[3].attribute.address যদি কোনো অ্যাট্রিবিউটের একাধিক মান থাকে (উদাহরণস্বরূপ, যদি কোনো ব্যবহারকারীর একাধিক ইমেল ঠিকানা থাকে), তাহলে আপনি ফলাফল থেকে দ্বিতীয় ইমেল ঠিকানাটি এইভাবে সংগ্রহ করবেন: ldap.policyName.search.result.attribute.mail[2] |
ত্রুটি কোড
এজ পলিসি থেকে প্রাপ্ত ত্রুটিগুলি 'ত্রুটি কোড রেফারেন্স' -এ বর্ণিত একটি সামঞ্জস্যপূর্ণ বিন্যাস অনুসরণ করে।
এই নীতি নিম্নলিখিত ত্রুটি কোড ব্যবহার করে:
| ভুল সংকেত | বার্তা |
|---|---|
InvalidAttributeName | Invalid attribute name {0}. |
InvalidSearchBase | Search base can not be empty. |
InvalidValueForPassword | Invalid value for password field. It can not be empty. |
InvalidSearchScope | Invalid scope {0}. Allowed scopes are {1}. |
InvalidUserCredentials | Invalid user credentials. |
InvalidExternalLdapReference | Invalid external ldap reference {0}. |
LdapResourceNotFound | Ldap resource {0} not found. |
BaseDNRequired | Base DN required. |
OnlyReferenceOrValueIsAllowed | Only value or reference is allowed for {0}. |
AttributesRequired | At least one attribute required for search action. |
UserNameIsNull | User name is null. |
SearchQueryAndUserNameCannotBePresent | Both search query and username can not be present in the authentication action. Please specify either one of them. |
আপনি Apigee Edge-এর ডকুমেন্টেশন দেখছেন।
Apigee X ডকুমেন্টেশন .info- তে যান।
কী
LDAP নীতিমালায় রয়েছে:
- প্রমাণীকরণ : অনুরোধে সরবরাহ করা ব্যবহারকারীর পরিচয়পত্র LDAP প্রদানকারীর পরিচয়পত্রের সাথে মিলিয়ে যাচাই করা হয়। LDAP নীতি আপনাকে প্রমাণীকরণের ক্ষেত্রে অনেক নমনীয়তা দেয়, যার ফলে আপনি পাসওয়ার্ডের সাথে যেকোনো DN মান ব্যবহার করতে পারেন, এমনকি আপনার কাঙ্ক্ষিত DN মানটি অনুরোধে না থাকলেও। উদাহরণস্বরূপ, ধরুন প্রমাণীকরণের জন্য আপনার ইমেল/পাসওয়ার্ড ব্যবহার করার প্রয়োজন। এক্ষেত্রে নিম্নলিখিত বিকল্পগুলো সম্ভব:
- অনুরোধে ইমেলটি থাকলে, আপনি LDAP প্রমাণীকরণের জন্য পাসওয়ার্ডের সাথে সেটি ব্যবহার করতে পারেন।
- যদি অনুরোধে ইমেল না থাকে, কিন্তু অন্য কোনো ডিএন অ্যাট্রিবিউট (যেমন ফোন নম্বর) থাকে, তাহলে আপনি ফোন নম্বরটি ব্যবহার করে এলড্যাপ (LDAP) থেকে সংশ্লিষ্ট ইমেলটি পেতে পারেন, তারপর প্রমাণীকরণের জন্য ইমেল / পাসওয়ার্ড ব্যবহার করতে পারেন।
- ডিস্টিংগুইশড নেম (DN) সার্চ : অথেনটিকেশনের পাশাপাশি, আপনি অনুরোধে থাকা ব্যবহারকারীর কোনো অ্যাট্রিবিউট (যেমন ইমেল) শনাক্ত করতে এবং সেই ব্যবহারকারীর জন্য LDAP থেকে অন্যান্য DN অ্যাট্রিবিউট পুনরুদ্ধার করার জন্য একটি কোয়েরি চালাতে LDAP পলিসি ব্যবহার করতে পারেন। পুনরুদ্ধার করা DN-টি একটি ভেরিয়েবলে সংরক্ষণ করা হয়।
যখন সুরক্ষিত রিসোর্সগুলিতে অ্যাক্সেস আপনার LDAP প্রোভাইডারের ব্যবহারকারীদের—যেমন আপনার অ্যাডমিন ব্যবহারকারী, প্রতিষ্ঠানের ব্যবহারকারী এবং ডেভেলপারদের—মধ্যে সীমাবদ্ধ রাখা প্রয়োজন, তখন LDAP পলিসি ব্যবহার করুন; বিশেষ করে যখন OAuth টোকেন অ্যাক্সেস অপ্রয়োজনীয় বা অতিরিক্ত ভারী হয়। এই পলিসিটি API প্রক্সি ফ্লো-তে ব্যবহারের জন্য ডোমেইন নেমের মেটাডেটা পুনরুদ্ধার করার উদ্দেশ্যেও তৈরি করা হয়েছে।
উদাহরণস্বরূপ, আপনি এমন ব্যবস্থা করতে পারেন যে কোনো ব্যবহারকারী LDAP-এর মাধ্যমে সফলভাবে প্রমাণীকৃত হলেই কেবল একটি API কল কার্যকর হবে; এবং তারপর, প্রমাণীকরণ সফল হওয়ার পর ঐচ্ছিকভাবে সেই ব্যবহারকারীর DN (ডোমেইন নেম) অ্যাট্রিবিউটগুলো পুনরুদ্ধার করা যাবে।
অতিরিক্ত তথ্যের জন্য দেখুন:
- এপিআই ব্যবস্থাপনার জন্য ডিফল্ট এলড্যাপ পাসওয়ার্ড নীতি পরিচালনা করা
- Apigee কমিউনিটিতে আপনার পাসওয়ার্ড নীতি সম্পর্কে গুরুত্বপূর্ণ তথ্য ।
নমুনা
ব্যবহারকারীর নাম/পাসওয়ার্ড প্রমাণীকরণ
<Ldap name="4GLdapPolicy">
<LdapResource>ldap1</LdapResource>
<Authentication>
<UserName ref="request.header.username"/>
<Password ref="request.header.password"/>
<Scope>subtree</Scope>
<BaseDN ref="apigee.baseDN"></BaseDN> <!-- default is dc=apigee,dc=com -->
</Authentication>
</Ldap>এই নমুনাটি একটি LDAP প্রোভাইডারের বিপরীতে প্রমাণীকরণ প্রদান করে। পলিসিটি প্রমাণীকরণের জন্য অনুরোধ থেকে ইউজারনেম এবং পাসওয়ার্ড LDAP-এ প্রেরণ করে।
DN অ্যাট্রিবিউট প্রমাণীকরণ
<Ldap name="LdapPolicy">
<LdapResource>ldap1</LdapResource>
<Authentication>
<Password ref="request.header.password"/>
<SearchQuery>mail={request.header.mail}</SearchQuery>
<Scope>subtree</Scope>
<BaseDN ref="apigee.baseDN"></BaseDN> <!-- default is dc=apigee,dc=com -->
</Authentication>
</Ldap>এই পলিসিটি রিকোয়েস্ট হেডারে থাকা ইমেইলের সাহায্যে ব্যবহারকারীর ডিএন (DN) সংগ্রহ করে, তারপর রিকোয়েস্ট হেডারে দেওয়া পাসওয়ার্ড ব্যবহার করে এলড্যাপ (LDAP)-এর মাধ্যমে ব্যবহারকারীকে প্রমাণীকরণ করে।
LDAP অনুসন্ধান করা হচ্ছে
<Ldap name="LdapPolicy"> <!-- using a custom LDAP provider --> <LdapConnectorClass>com.custom.ldap.MyProvider</LdapConnectorClass> <LdapResource>MyLdap</LdapResource> <Search> <BaseDN ref="apigee.baseDN"></BaseDN> <!-- default is dc=apigee,dc=com --> <SearchQuery>mail={request.header.mail}</SearchQuery> <Attributes> <Attribute>address</Attribute> <Attribute>phone</Attribute> <Attribute>title</Attribute> </Attributes> <Scope></Scope> <!-- default is ‘subtree’ --> </Search> </Ldap>
এই পলিসিটি একটি কাস্টম LDAP প্রোভাইডারকে নির্দেশ করে। এটি ব্যবহারকারীকে শনাক্ত করার জন্য রিকোয়েস্ট হেডারে থাকা ইমেল অ্যাড্রেস ব্যবহার করে, তারপর LDAP থেকে ব্যবহারকারীর ঠিকানা, ফোন এবং পদবি পুনরুদ্ধার করে। পুনরুদ্ধার করা DN অ্যাট্রিবিউটগুলো একটি ভেরিয়েবলে সংরক্ষণ করা হয়। "পলিসি-নির্দিষ্ট ভেরিয়েবল" অংশটি দেখুন।
LDAP অনুসন্ধান করতে এবং DN অ্যাট্রিবিউট পুনরুদ্ধার করতে, অনুরোধটিতে অবশ্যই প্রশাসকের পরিচয়পত্র অন্তর্ভুক্ত থাকতে হবে।
উপাদান রেফারেন্স
নিম্নে LDAP পলিসির উপাদান ও বৈশিষ্ট্যগুলোর বর্ণনা দেওয়া হলো।
উপাদান | বর্ণনা |
|---|---|
| প্যারেন্ট এলিমেন্ট, যেখানে একটি name অ্যাট্রিবিউট রয়েছে, যাতে আপনি পলিসির নাম লিখতে পারেন। |
| Apigee-র সরবরাহ করা নয় এমন কোনো কাস্টম LDAP প্রোভাইডারের সাথে LDAP পলিসি ব্যবহার করার সময়, সম্পূর্ণ যোগ্যতাসম্পন্ন LDAP কানেক্টর ক্লাসটি নির্দিষ্ট করুন। এটি সেই ক্লাস, যেখানে আপনি Apigee-র |
| LDAP রিসোর্সের এনভায়রনমেন্ট নামটি লিখুন। আরও তথ্যের জন্য ‘একটি LDAP রিসোর্স তৈরি করুন’ দেখুন। |
| LDAP-এর মূল স্তর, যার অধীনে আপনার সমস্ত ডেটা থাকে। উদাহরণস্বরূপ, Apigee-এর LDAP প্রোভাইডারে, সমস্ত ডেটা
|
|
|
প্রমাণীকরণ | |
| আপনার প্রয়োগ করা প্রমাণীকরণ আচরণের জন্য মূল উপাদান। |
| একটি খালি এলিমেন্ট যা নিম্নলিখিত অ্যাট্রিবিউটগুলোর মধ্যে যেকোনো একটি গ্রহণ করে:
যদি আপনি ইউজারনেম দিয়ে প্রমাণীকরণ না করেন, অথবা অনুরোধে ইউজারনেম অন্তর্ভুক্ত না থাকে, তাহলে এই এলিমেন্টটি অন্তর্ভুক্ত করার প্রয়োজন নেই। যদি অনুরোধে ইউজারনেম থাকে, কিন্তু আপনি ইউজারনেম ছাড়া অন্য কোনো ডিএন অ্যাট্রিবিউট (যেমন ইমেল) দিয়ে কোনো ব্যবহারকারীকে প্রমাণীকরণ করতে চান, তাহলে পাসওয়ার্ডের সাথে যুক্ত ব্যবহারকারীর ইমেলটি পাওয়ার জন্য একটি |
| একটি খালি এলিমেন্ট যা নিম্নলিখিত অ্যাট্রিবিউটগুলোর মধ্যে যেকোনো একটি গ্রহণ করে:
|
| আপনি যদি ইউজারনেম ছাড়া অন্য কোনো ডিএন অ্যাট্রিবিউট, যেমন ইমেল, ব্যবহার করে প্রমাণীকরণ করতে চান, তাহলে এলড্যাপ পলিসিটি এমনভাবে কনফিগার করুন যাতে এটি রিকোয়েস্ট থেকে একটি ডিএন অ্যাট্রিবিউট (যেমন ইউজারনেম) গ্রহণ করে, যা এলড্যাপে ব্যবহারকারীকে শনাক্ত করতে, ইমেল পুনরুদ্ধার করতে এবং ব্যবহারকারীকে প্রমাণীকরণ করতে ব্যবহৃত হয়। উদাহরণস্বরূপ, ধরে নেওয়া যাক LDAP ইমেল ঠিকানা সংরক্ষণের জন্য একটি 'mail' অ্যাট্রিবিউট সংজ্ঞায়িত করে: |
অনুসন্ধান | |
| আপনার প্রয়োগ করা সার্চ আচরণের জন্য প্যারেন্ট এলিমেন্ট। |
| অনুরোধ বা প্রতিক্রিয়ায় মেটাডেটার মাধ্যমে ব্যবহারকারীকে শনাক্ত করে, আপনি LDAP থেকে ব্যবহারকারীর জন্য অতিরিক্ত DN অ্যাট্রিবিউট পুনরুদ্ধার করতে এই উপাদানটি ব্যবহার করতে পারেন। উদাহরণস্বরূপ, যদি অনুরোধে ব্যবহারকারীর ইমেল থাকে, এবং আপনার LDAP ব্যবহারকারীর ইমেল ঠিকানা সংরক্ষণের জন্য একটি এই কোয়েরিটি অনুরোধে থাকা ইমেলের সাথে মেলে এমন একটি ইমেলের জন্য LDAP-এ অনুসন্ধান করে, এবং পলিসিটি এখন Attributes এলিমেন্টের মাধ্যমে সেই ব্যবহারকারীর জন্য অতিরিক্ত DN অ্যাট্রিবিউটগুলো পুনরুদ্ধার করতে পারে। |
| ব্যবহারকারীর জন্য আপনি যে DN মেটাডেটা পুনরুদ্ধার করতে চান তা শনাক্ত করতে এক বা একাধিক উদাহরণস্বরূপ, অ্যাট্রিবিউট ভ্যালুগুলো হলো আপনার LDAP-এ সংজ্ঞায়িত DN অ্যাট্রিবিউটের নাম। <Attributes> <Attribute>address</Attribute> <Attribute>phone</Attribute> <Attribute>title</Attribute> </Attributes> |
ব্যবহারের নির্দেশাবলী
Apigee Edge for Private Cloud আপনাকে API কলে একটি LDAP প্রোভাইডার ব্যবহার করার সুযোগ দেয়। LDAP পলিসির মাধ্যমে, অ্যাপ্লিকেশনগুলো LDAP-এ সংরক্ষিত ব্যবহারকারীদের ক্রেডেনশিয়াল প্রমাণীকরণ করতে পারে এবং আপনি LDAP থেকে ডিস্টিংগুইশড নেম (DN) পুনরুদ্ধার করতে পারেন—যা হলো প্রতিটি ব্যবহারকারীর সাথে সম্পর্কিত মেটাডেটা বা অ্যাট্রিবিউট, যেমন ইমেল, ঠিকানা এবং ফোন নম্বর। প্রাপ্ত DN-টি API প্রক্সির পরবর্তী ব্যবহারের জন্য একটি ভেরিয়েবলে সংরক্ষণ করা হয়।
একটি LDAP রিসোর্স তৈরি করুন
LDAP পলিসিটি Apigee Edge-এ আপনার তৈরি করা একটি LDAP রিসোর্স ব্যবহার করে। একটি LDAP রিসোর্স আপনার LDAP রিপোজিটরির সংযোগের তথ্য সরবরাহ করে।
LDAP রিসোর্স তৈরি ও পরিচালনা করতে, নিম্নলিখিত API এবং পেলোড ব্যবহার করুন:
এপিআই
একটি LDAP রিসোর্স তৈরি ( POST ) করুন অথবা সমস্ত LDAP রিসোর্সের তালিকা ( GET ) দেখুন:
/v1/organizations/org_name/environments/environment/ldapresources
একটি LDAP রিসোর্সের বিবরণ পেতে ( GET ), আপডেট করতে ( POST ), এবং ডিলিট করতে ( DELETE ):
/v1/organizations/org_name/environments/environment/ldapresources/ldap_resource_name
পেলোড
নিচে ব্যবহারবিধিসহ একটি নমুনা XML পেলোড দেওয়া হলো।
<LdapResource name="ldap1"> <Connection> <Hosts> <!-- port is optional: defaults to 389 for ldap:// and 636 for ldaps:// --> <Host port="636">foo.com</Host> </Hosts> <SSLEnabled>false</SSLEnabled> <!-- optional, defaults to false --> <Version>3</Version> <!-- optional, defaults to 3--> <Authentication>simple</Authentication> <!-- optional, only simple supported --> <ConnectionProvider>jndi|unboundid</ConnectionProvider> <!-- required --> <ServerSetType>single|round robin|failover</ServerSetType> <!-- not applicable for jndi --> <!-- If using a custom LDAP provider, the fully qualified class: --> <LdapConnectorClass>com.custom.ldap.MyProvider</LdapConnectorClass> </Connection> <ConnectPool enabled="true"> <!-- enabled is optional, defaults to true --> <Timeout>30000</Timeout> <!-- optional, in milliseconds; if not set, no timeout --> <Maxsize>50</Maxsize> <!-- optional; if not set, no max connections --> <Prefsize>30</Prefsize> <!-- optional; if not set, no pref size --> <Initsize></Initsize> <!-- optional; if not set, defaults to 1 --> <Protocol></Protocol> <!-- optional; if not set, defaults to 'ssl plain' --> </ConnectPool> <Admin> <DN>cn=manager,dc=apigee,dc=com</DN> <Password>secret</Password> </Admin> </LdapResource>
curl উদাহরণ: একটি LDAP রিসোর্স তৈরি করুন
নিম্নলিখিত উদাহরণটি ldap1 নামের একটি LDAP রিসোর্স তৈরি করে।
curl -X POST -H "Content-Type: application/xml" \ https://api.enterprise.apigee.com/v1/organizations/myorg/environments/test/ldapresources \ -u apigee_email:password -d \ '<LdapResource name="ldap1"> <Connection> <Hosts> <Host>foo.com</Host> </Hosts> <SSLEnabled>false</SSLEnabled> <Version>3</Version> <Authentication>simple</Authentication> <ConnectionProvider>unboundid</ConnectionProvider> <ServerSetType>round robin</ServerSetType> </Connection> <ConnectPool enabled="true"> <Timeout>30000</Timeout> <Maxsize>50</Maxsize> <Prefsize>30</Prefsize> <Initsize></Initsize> <Protocol></Protocol> </ConnectPool> <Admin> <DN>cn=manager,dc=apigee,dc=com</DN> <Password>secret</Password> </Admin> </LdapResource>'
প্রতিক্রিয়া কোড
পলিসিটি সফল বা ব্যর্থ হলে নিম্নলিখিত HTML প্রতিক্রিয়া কোডগুলি ফেরত দেয়:
- সাফল্য : ২০০
- ব্যর্থতা : ৪০১
Edge for Private Cloud-এ একটি কাস্টম LDAP প্রোভাইডার ব্যবহার করা
একটি কাস্টম LDAP প্রদানকারী ব্যবহার করে
Apigee Edge for Private Cloud-এর সাথে একটি LDAP প্রোভাইডার আসে যা LDAP পলিসির সাথে কাজ করার জন্য আগে থেকেই কনফিগার করা থাকে। তবে, আপনি যদি একটি কাস্টম LDAP প্রোভাইডার ব্যবহার করেন, তাহলে আপনাকে অবশ্যই প্রোভাইডারটিকে LDAP পলিসি সাপোর্ট করার জন্য সক্ষম করতে হবে। এটি করতে:
- আপনার LDAP প্রোভাইডার ক্লাসে
ExternalLdapConProviderইন্টারফেসটি ইমপ্লিমেন্ট করুন।public interface ExternalLdapConProvider { void doAuthentication(LdapBean LlapBean, String userDN, String password, String baseDN); void doSearchAndAuthentication(LdapBean LlapBean, String password, String baseDN, String query, int scope); Collection<Map<String, String[]>> doSearch(LdapBean LlapBean, String query, String baseDN, Collection<String> requiredAttributes, int scope); void closeConnections(); } - পলিসি কনফিগারেশনের
<LdapConnectorClass>অংশে (পরবর্তী বিভাগগুলিতে), আপনার কাস্টম LDAP প্রোভাইডারের সম্পূর্ণ ক্লাস নামটি যোগ করুন। - এই ফাইলটি ডাউনলোড করুন: custom-ldap.jar_.zip । (আপনাকে রাইট-ক্লিক করে 'Save As' নির্বাচন করতে হতে পারে।)
- এটা আনজিপ করুন।
- custom-ldap.jar ফাইলটি আপনার এনভায়রনমেন্টে যোগ করুন এবং নিশ্চিত করুন যে এটি আপনার ক্লাসপাথে রয়েছে।
- আপনার LDAP প্রোভাইডারের জন্য একটি এনভায়রনমেন্ট রিসোর্স তৈরি করুন। আপনি LDAP পলিসির
<LdapResource>এলিমেন্টে এনভায়রনমেন্ট রিসোর্সের নামটি ব্যবহার করবেন।
জাভার জন্য আনবাউন্ডআইডি এলড্যাপ এসডিকে ব্যবহার করা
আপনি LDAP পলিসির সাথে UnboundID LDAP SDK ব্যবহার করতে পারেন, কিন্তু তার জন্য আপনাকে প্রথমে সংস্করণ ২.৩.১ ডাউনলোড করে আপনার প্রতিটি মেসেজ প্রসেসরের ক্লাসপাথে যোগ করতে হবে।
LDAP পলিসির সাথে UnboundID LDAP SDK ব্যবহার করতে:
- একটি ব্রাউজার খুলুন এবং UnboundID LDAP SDK-এর Sourceforge ফাইল রিপোজিটরিতে যান:
https://sourceforge.net/projects/ldap-sdk/files/
- SDK-এর ভার্সন ২.৩.১ (SE বা স্ট্যান্ডার্ড এডিশন ) খুঁজুন এবং সেই ভার্সনের ZIP ফাইলটি ডাউনলোড করুন। উদাহরণস্বরূপ, 'unboundid-ldapsdk-2.3.1-se.zip' ডাউনলোড করুন।
- নিচের উদাহরণে দেখানো অনুযায়ী SDK ZIP ফাইল থেকে JAR ফাইলটি এক্সট্র্যাক্ট করুন:
unzip -j -d ~/tmp ~/Downloads/unboundid-ldapsdk-2.3.1-se.zip unboundid-ldapsdk-2.3.1-se/unboundid-ldapsdk-se.jar
এই কমান্ডটি শুধু JAR ফাইলটিকে ~/tmp ডিরেক্টরিতে এক্সট্র্যাক্ট করে।
-jবিকল্পটি ব্যবহার করলে ডিরেক্টরি কাঠামোটি মুছে যায়, যদিও এটি ঐচ্ছিক। - প্রতিটি মেসেজ প্রসেসর নোডে:
- JAR ফাইলটি মেসেজ প্রসেসরের
/opt/apigee/edge-gateway/lib/thirdpartyডিরেক্টরিতে কপি করুন। - প্রয়োজনে, JAR ফাইলটিতে Apigee ব্যবহারকারীকে অনুমতি দিন যাতে মেসেজ প্রসেসর এটি অ্যাক্সেস করতে পারে।
Edge
/opt/apigee/edge-gateway/lib/thirdpartyডিরেক্টরিতে থাকা সমস্ত থার্ড-পার্টি লাইব্রেরিকে ক্লাসপাথে যুক্ত করে। - JAR ফাইলটি মেসেজ প্রসেসরের
- মেসেজ প্রসেসরটি পুনরায় চালু করুন:
/opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
প্রবাহ পরিবর্তনশীল
নিম্নলিখিতগুলি হল LDAP পলিসি ভেরিয়েবল যা একটি SearchQuery দ্বারা পূরণ করা হয়।
পরিবর্তনশীল | বর্ণনা |
|---|---|
ldap.policyName.execution.success | পলিসিটি কার্যকর হওয়ার পর, ফলাফলের ওপর নির্ভর করে এই ফ্লো ভেরিয়েবলটিতে 'true' বা 'false' মান থাকে। |
ldap.policyName.search.result[index]. attribute.attrName[index]=value | এই ভেরিয়েবলের নমনীয় ফর্ম্যাট, বিশেষ করে এর ইনডেক্স, একাধিক অ্যাট্রিবিউট এবং একাধিক মানযুক্ত অ্যাট্রিবিউটকেও সমর্থন করে। ইনডেক্স হলো একটি সংখ্যা যা ১ থেকে শুরু হয়। যদি কোনো ইনডেক্স নম্বর প্রদান করা না হয়, তবে ডিফল্ট ইনডেক্স নম্বরটি হলো ১। যদি পলিসিটি ঠিকানা, ফোন এবং ইমেল ফেরত দেয়, তাহলে আপনি এই ভেরিয়েবলগুলো ব্যবহার করে প্রথম অ্যাট্রিবিউট এবং ভ্যালুটি পুনরুদ্ধার করতে পারেন: ldap.policyName.search.result.attribute.address ldap.policyName.search.result.attribute.phone ldap.policyName.search.result.attribute.email আপনি যদি সার্চ রেজাল্ট থেকে তৃতীয় অ্যাড্রেস অ্যাট্রিবিউটটি পেতে চান, তাহলে এটি ব্যবহার করবেন: ldap.policyName.search.result[3].attribute.address যদি কোনো অ্যাট্রিবিউটের একাধিক মান থাকে (উদাহরণস্বরূপ, যদি কোনো ব্যবহারকারীর একাধিক ইমেল ঠিকানা থাকে), তাহলে আপনি ফলাফল থেকে দ্বিতীয় ইমেল ঠিকানাটি এইভাবে সংগ্রহ করবেন: ldap.policyName.search.result.attribute.mail[2] |
ত্রুটি কোড
এজ পলিসি থেকে প্রাপ্ত ত্রুটিগুলি 'ত্রুটি কোড রেফারেন্স' -এ বর্ণিত একটি সামঞ্জস্যপূর্ণ বিন্যাস অনুসরণ করে।
এই নীতি নিম্নলিখিত ত্রুটি কোড ব্যবহার করে:
| ভুল সংকেত | বার্তা |
|---|---|
InvalidAttributeName | Invalid attribute name {0}. |
InvalidSearchBase | Search base can not be empty. |
InvalidValueForPassword | Invalid value for password field. It can not be empty. |
InvalidSearchScope | Invalid scope {0}. Allowed scopes are {1}. |
InvalidUserCredentials | Invalid user credentials. |
InvalidExternalLdapReference | Invalid external ldap reference {0}. |
LdapResourceNotFound | Ldap resource {0} not found. |
BaseDNRequired | Base DN required. |
OnlyReferenceOrValueIsAllowed | Only value or reference is allowed for {0}. |
AttributesRequired | At least one attribute required for search action. |
UserNameIsNull | User name is null. |
SearchQueryAndUserNameCannotBePresent | Both search query and username can not be present in the authentication action. Please specify either one of them. |