LDAP নীতি

আপনি Apigee Edge ডকুমেন্টেশন দেখছেন।
Apigee X ডকুমেন্টেশনে যান
তথ্য

কি

LDAP নীতি প্রদান করে:

  • প্রমাণীকরণ : অনুরোধে সরবরাহ করা ব্যবহারকারীর শংসাপত্রগুলি LDAP প্রদানকারীর শংসাপত্রগুলির বিরুদ্ধে যাচাই করা হয়৷ LDAP নীতি আপনাকে প্রমাণীকরণের সাথে অনেক নমনীয়তা দেয়, আপনাকে পাসওয়ার্ডের সাথে যেকোনো DN মান ব্যবহার করতে দেয়, এমনকি যদি আপনি চান সেই DN মান অনুরোধে না থাকে। উদাহরণস্বরূপ, বলুন আপনাকে প্রমাণীকরণের জন্য ইমেল/পাসওয়ার্ড ব্যবহার করতে হবে। নিম্নলিখিত বিকল্পগুলি সম্ভব:
    • যদি ইমেলটি অনুরোধে থাকে, তাহলে আপনি LDAP প্রমাণীকরণের জন্য পাসওয়ার্ড দিয়ে এটি ব্যবহার করতে পারেন।
    • যদি ইমেলটি অনুরোধে না থাকে, তবে অন্য একটি DN বৈশিষ্ট্য (যেমন ফোন নম্বর), আপনি LDAP থেকে সংশ্লিষ্ট ইমেল পেতে ফোন নম্বর ব্যবহার করতে পারেন, তারপর প্রমাণীকরণের জন্য ইমেল/পাসওয়ার্ড ব্যবহার করুন৷
  • বিশিষ্ট নাম (DN) অনুসন্ধান : প্রমাণীকরণ ছাড়াও, আপনি অনুরোধে একটি ব্যবহারকারীর বৈশিষ্ট্য সনাক্ত করতে LDAP নীতি ব্যবহার করতে পারেন, যেমন ইমেল, এবং একটি প্রশ্ন সম্পাদন করতে পারেন যা সেই ব্যবহারকারীর জন্য LDAP থেকে অন্যান্য DN বৈশিষ্ট্যগুলি পুনরুদ্ধার করে৷ পুনরুদ্ধার করা DN একটি পরিবর্তনশীল মধ্যে সংরক্ষণ করা হয়.

LDAP নীতি ব্যবহার করুন যখন সুরক্ষিত সংস্থানগুলিতে অ্যাক্সেস আপনার LDAP প্রদানকারীর ব্যবহারকারীদের মধ্যে সীমাবদ্ধ হওয়া উচিত—যেমন আপনার প্রশাসক ব্যবহারকারী, সংস্থার ব্যবহারকারী এবং বিকাশকারীরা—বিশেষ করে যখন OAuth টোকেন অ্যাক্সেস হয় অপ্রয়োজনীয় বা খুব ভারী। নীতিটি API প্রক্সি ফ্লোতে ব্যবহারের জন্য ডোমেন নাম মেটাডেটা পুনরুদ্ধার করার জন্যও ডিজাইন করা হয়েছে।

উদাহরণস্বরূপ আপনি একটি API কল চালাতে পারেন শুধুমাত্র যখন একজন ব্যবহারকারী সফলভাবে LDAP এর বিরুদ্ধে প্রমাণীকৃত হয়; এবং তারপর ঐচ্ছিকভাবে প্রমাণীকরণ সফল হওয়ার পরে ব্যবহারকারীর জন্য DN (ডোমেন নাম) বৈশিষ্ট্যগুলি পুনরুদ্ধার করুন।

অতিরিক্ত তথ্যের জন্য, দেখুন:

নমুনা

ব্যবহারকারীর নাম/পাসওয়ার্ড প্রমাণীকরণ

<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-কে অনুরোধ থেকে ব্যবহারকারীর নাম এবং পাসওয়ার্ড পাস করে।

ডিএন অ্যাট্রিবিউট প্রমাণীকরণ

<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 নীতির উপাদান এবং গুণাবলীর বর্ণনা দেওয়া হল।

উপাদান

বর্ণনা

Ldap

নীতির নাম লিখতে আপনার জন্য একটি নামের বৈশিষ্ট্য সহ অভিভাবক উপাদান।

LdapConnectorClass

একটি কাস্টম LDAP প্রদানকারীর সাথে LDAP নীতি ব্যবহার করার সময় (Apigee দ্বারা সরবরাহ করা হয়নি), সম্পূর্ণরূপে যোগ্যতাসম্পন্ন LDAP সংযোগকারী শ্রেণীটি নির্দিষ্ট করুন৷ এটি সেই ক্লাস যেখানে আপনি Apigee এর ExternalLdapConProvider ইন্টারফেস প্রয়োগ করেছেন।

LdapResource

LDAP সম্পদের পরিবেশের নাম লিখুন। আরও তথ্যের জন্য একটি LDAP সংস্থান তৈরি করুন দেখুন।

BaseDN

LDAP এর ভিত্তি স্তর যার অধীনে আপনার সমস্ত ডেটা বিদ্যমান। উদাহরণস্বরূপ, Apigee-এর LDAP প্রদানকারীতে, সমস্ত ডেটা dc=apigee,dc=com অধীনে থাকে।

  • ref : BaseDN মান ধারণকারী একটি ফ্লো ভেরিয়েবল নির্দিষ্ট করতে ব্যবহার করুন, যেমন apigee.baseDN। রেফ একটি সুস্পষ্ট বেসডিএন মানের উপর অগ্রাধিকার নেয়। আপনি যদি রেফ এবং মান উভয়ই উল্লেখ করেন, তাহলে রেফের অগ্রাধিকার রয়েছে। যদি রেফ রানটাইমে সমাধান না হয়, মান ব্যবহার করা হয়।

Scope

  • অবজেক্ট : প্রমাণীকরণ বা অনুসন্ধান শুধুমাত্র LDAP এর বেস লেভেলে ঘটে।
  • onelevel : প্রমাণীকরণ বা অনুসন্ধান বেস স্তরের নীচে এক স্তরে ঘটে।
  • সাবট্রি (ডিফল্ট): প্রমাণীকরণ বা অনুসন্ধান বেস স্তরে ঘটে এবং সম্পূর্ণরূপে পুনরাবৃত্তভাবে বেসের নীচে।

প্রমাণীকরণ

Authentication

আপনার প্রয়োগ করা প্রমাণীকরণ আচরণের জন্য অভিভাবক উপাদান।

UserName

খালি উপাদান যা নিম্নলিখিত বৈশিষ্ট্যগুলির মধ্যে একটি নেয়:

  • ref : অনুরোধে ব্যবহারকারীর নামের একটি রেফারেন্স, যেমন request.header.username
  • মান : ব্যবহারকারীর নাম নিজেই

আপনি যদি ব্যবহারকারীর নাম দিয়ে প্রমাণীকরণ না করেন, অথবা যদি অনুরোধে ব্যবহারকারীর নাম অন্তর্ভুক্ত না হয়, তাহলে আপনাকে এই উপাদানটি অন্তর্ভুক্ত করার প্রয়োজন নেই৷

যদি ব্যবহারকারীর নাম অনুরোধে থাকে, কিন্তু আপনি ব্যবহারকারীর নাম ছাড়া অন্য একটি DN বৈশিষ্ট্য সহ একজন ব্যবহারকারীকে প্রমাণীকরণ করতে চান, যেমন ইমেল, পাসওয়ার্ডের সাথে যুক্ত ব্যবহারকারীর ইমেল পেতে একটি SearchQuery অন্তর্ভুক্ত করুন। LDAP নীতি সংশ্লিষ্ট ইমেল ঠিকানার জন্য LDAP প্রদানকারীকে জিজ্ঞাসা করতে ব্যবহারকারীর নাম ব্যবহার করে, যা পরে প্রমাণীকরণের জন্য ব্যবহৃত হয়।

Password

খালি উপাদান যা নিম্নলিখিত বৈশিষ্ট্যগুলির মধ্যে একটি নেয়:

  • ref : অনুরোধে পাসওয়ার্ডের একটি রেফারেন্স, যেমন request.header.password
  • মান : এনক্রিপ্ট করা পাসওয়ার্ড নিজেই

SearchQuery

আপনি যদি ব্যবহারকারীর নাম ছাড়া অন্য কোনো DN অ্যাট্রিবিউট ব্যবহার করে প্রমাণীকরণ করতে চান, যেমন ইমেল, অনুরোধ থেকে একটি DN অ্যাট্রিবিউট পেতে LDAP নীতি কনফিগার করুন (যেমন ব্যবহারকারীর নাম), যা LDAP-তে ব্যবহারকারীকে সনাক্ত করতে, ইমেল পুনরুদ্ধার করতে এবং ব্যবহারকারীকে প্রমাণীকরণ করুন।

উদাহরণস্বরূপ, LDAP ইমেল ঠিকানা সংরক্ষণের জন্য একটি "মেইল" বৈশিষ্ট্য সংজ্ঞায়িত করে:

<SearchQuery>mail={request.header.mail}</SearchQuery>

অনুসন্ধান করুন

Search

আপনার প্রয়োগ করা অনুসন্ধান আচরণের জন্য অভিভাবক উপাদান।

SearchQuery

অনুরোধ বা প্রতিক্রিয়াতে মেটাডেটা সহ ব্যবহারকারীকে সনাক্ত করে, আপনি LDAP থেকে ব্যবহারকারীর জন্য অতিরিক্ত DN বৈশিষ্ট্যগুলি পুনরুদ্ধার করতে এই উপাদানটি ব্যবহার করতে পারেন। উদাহরণস্বরূপ, যদি অনুরোধটিতে ব্যবহারকারীর ইমেল থাকে এবং আপনার LDAP ব্যবহারকারীর ইমেল ঠিকানাগুলি সংরক্ষণ করার জন্য একটি mail বৈশিষ্ট্য সংজ্ঞায়িত করে, আপনি নিম্নলিখিত সেটিংটি ব্যবহার করবেন:

<SearchQuery>mail={request.header.mail}</SearchQuery>

এই ক্যোয়ারীটি অনুরোধে ইমেলের সাথে মিলে যাওয়া একটি ইমেলের জন্য LDAP-কে অনুসন্ধান করে এবং নীতিটি এখন বৈশিষ্ট্য উপাদান সহ সেই ব্যবহারকারীর জন্য অতিরিক্ত DN বৈশিষ্ট্যগুলি পুনরুদ্ধার করতে পারে৷

Attributes

আপনি ব্যবহারকারীর জন্য যে DN মেটাডেটা পুনরুদ্ধার করতে চান তা সনাক্ত করতে এক বা একাধিক <Attribute> উপাদান ব্যবহার করুন। অন্তত একটি বৈশিষ্ট্য প্রয়োজন.

উদাহরণস্বরূপ, SearchQuery ব্যবহারকারীকে শনাক্ত করার পরে, নীতিটি এখন ব্যবহারকারীর জন্য DN বৈশিষ্ট্য যেমন ঠিকানা, ফোন নম্বর এবং ব্যবহারকারীর শিরোনাম পুনরুদ্ধার করতে পারে, যেমনটি নিম্নলিখিত উদাহরণে দেখানো হয়েছে।

অ্যাট্রিবিউটের মান হল আপনার LDAP-তে সংজ্ঞায়িত DN অ্যাট্রিবিউটের নাম।

<Attributes>
  <Attribute>address</Attribute>
  <Attribute>phone</Attribute>
  <Attribute>title</Attribute>
</Attributes>

ব্যবহারের নোট

প্রাইভেট ক্লাউডের জন্য Apigee Edge আপনাকে API কলগুলিতে একটি LDAP প্রদানকারীর সুবিধা নিতে দেয়। LDAP নীতির সাহায্যে, অ্যাপ্লিকেশানগুলি LDAP-এ সংরক্ষিত ব্যবহারকারীদের বিরুদ্ধে শংসাপত্রগুলিকে প্রমাণীকরণ করতে পারে, এবং আপনি LDAP থেকে বিশিষ্ট নাম (DNs) পুনরুদ্ধার করতে পারেন—প্রত্যেক ব্যবহারকারীর সাথে যুক্ত মেটাডেটা, বা গুণাবলী, যেমন ইমেল, ঠিকানা এবং ফোন নম্বর। প্রত্যাবর্তিত ডিএন এপিআই প্রক্সি দ্বারা আরও ব্যবহারের জন্য একটি ভেরিয়েবলে সংরক্ষণ করা হয়।

একটি LDAP সংস্থান তৈরি করুন

LDAP নীতি একটি LDAP সংস্থানকে ব্যবহার করে যা আপনি Apigee Edge-এ তৈরি করেন। একটি LDAP সম্পদ আপনার LDAP সংগ্রহস্থলে সংযোগ তথ্য প্রদান করে।

LDAP সংস্থান তৈরি এবং পরিচালনা করতে, নিম্নলিখিত API এবং পেলোড ব্যবহার করুন:

API

একটি LDAP সংস্থান তৈরি করুন ( POST ) বা তালিকা ( GET ) সমস্ত LDAP সংস্থান:

/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>

কার্ল উদাহরণ: একটি 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 প্রতিক্রিয়া কোডগুলি প্রদান করে তা নিম্নরূপ:

  • সাফল্য : 200
  • ব্যর্থতা : 401

ব্যক্তিগত ক্লাউডের জন্য এজে একটি কাস্টম LDAP প্রদানকারী ব্যবহার করা

একটি কাস্টম LDAP প্রদানকারী ব্যবহার করে৷

প্রাইভেট ক্লাউডের জন্য Apigee Edge একটি LDAP প্রদানকারীর সাথে আসে যা ইতিমধ্যেই LDAP নীতির সাথে ইন্টারঅ্যাক্ট করার জন্য কনফিগার করা আছে। যাইহোক, যদি আপনি একটি কাস্টম LDAP প্রদানকারী ব্যবহার করেন, তাহলে আপনাকে অবশ্যই প্রদানকারীকে LDAP নীতি সমর্থন করতে সক্ষম করতে হবে। এটি করতে:

  1. আপনার 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();
    }
  2. নীতি কনফিগারেশনের <LdapConnectorClass> এ (পরবর্তী বিভাগ), আপনার কাস্টম LDAP প্রদানকারীর সম্পূর্ণ যোগ্য শ্রেণীর নাম যোগ করুন।
  3. এই ফাইলটি ডাউনলোড করুন: custom-ldap.jar_.zip । (আপনাকে ডান-ক্লিক করতে হতে পারে এবং সেভ এজ নির্বাচন করতে হতে পারে।)
  4. এটি আনজিপ করুন।
  5. আপনার পরিবেশে custom-ldap.jar ফাইল যোগ করুন এবং নিশ্চিত করুন যে এটি আপনার ক্লাসপাথে আছে।
  6. আপনার LDAP প্রদানকারীর জন্য একটি পরিবেশ সম্পদ তৈরি করুন। আপনি LDAP নীতির <LdapResource> উপাদানে পরিবেশ সম্পদের নাম ব্যবহার করবেন।

Java এর জন্য UnboundID LDAP SDK ব্যবহার করা

আপনি LDAP নীতির সাথে UnboundID LDAP SDK ব্যবহার করতে পারেন, তবে আপনাকে প্রথমে সংস্করণ 2.3.1 ডাউনলোড করতে হবে এবং এটি আপনার প্রতিটি বার্তা প্রসেসরের ক্লাসপাথে যোগ করতে হবে।

LDAP নীতির সাথে UnboundID LDAP SDK ব্যবহার করতে:

  1. একটি ব্রাউজার খুলুন এবং UnboundID LDAP SDK-এর জন্য Sourceforge ফাইল সংগ্রহস্থলে নেভিগেট করুন:
    https://sourceforge.net/projects/ldap-sdk/files/
  2. SDK-এর সংস্করণ 2.3.1 (SE বা স্ট্যান্ডার্ড সংস্করণ ) খুঁজুন এবং সেই সংস্করণের জন্য ZIP ফাইলটি ডাউনলোড করুন। উদাহরণস্বরূপ, "unboundid-ldapsdk-2.3.1-se.zip" ডাউনলোড করুন।
  3. 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

    এই কমান্ডটি ~/tmp ডিরেক্টরিতে JAR ফাইলটি বের করে। এটি -j সাথে ডিরেক্টরি কাঠামো ড্রপ করে, যদিও এটি ঐচ্ছিক।

  4. প্রতিটি বার্তা প্রসেসর নোডে:
    1. JAR ফাইলটি মেসেজ প্রসেসরের /opt/apigee/edge-gateway/lib/thirdparty ডিরেক্টরিতে অনুলিপি করুন।
    2. প্রয়োজনে, Apigee ব্যবহারকারীকে JAR ফাইলে অনুমতি দিন যাতে বার্তা প্রসেসর এটি অ্যাক্সেস করতে পারে।
    3. এজ ক্লাসপথে /opt/apigee/edge-gateway/lib/thirdparty ডিরেক্টরিতে সমস্ত তৃতীয় পক্ষের লাইব্রেরি যোগ করে।

    4. বার্তা প্রসেসর পুনরায় চালু করুন:
      /opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart

ফ্লো ভেরিয়েবল

নিম্নলিখিত LDAP নীতি ভেরিয়েবলগুলি একটি SearchQuery দ্বারা পপুলেট করা হয়েছে৷

পরিবর্তনশীল

বর্ণনা

ldap.policyName.execution.success

নীতি কার্যকর হওয়ার পরে, ফলাফলের উপর নির্ভর করে এই ফ্লো ভেরিয়েবলে "সত্য" বা "মিথ্যা" এর একটি মান থাকে।

ldap.policyName.search.result[index].
  attribute.attrName[index]=value

এই ভেরিয়েবলের নমনীয় বিন্যাস, বিশেষ করে সূচক: একাধিক গুণাবলীর জন্য অ্যাকাউন্ট, সেইসাথে একাধিক মান সহ বৈশিষ্ট্যগুলি। সূচী হল এমন একটি সংখ্যা যা 1 থেকে শুরু হয়৷ যদি কোনো সূচক নম্বর দেওয়া না থাকে, তাহলে ডিফল্ট সূচক নম্বর হল 1৷

যদি নীতি ঠিকানা, ফোন এবং ইমেল প্রদান করে, আপনি এই ভেরিয়েবলগুলি ব্যবহার করে প্রথম বৈশিষ্ট্য এবং মান পুনরুদ্ধার করতে পারেন:

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.