কোনও ব্যবহারকারী কীভাবে কেবলমাত্র একটি নির্দিষ্ট নোড অ্যাক্সেস করতে পারেন এবং এই জাতীয় সমস্ত নোড নয়?


10

আমার কাছে একটি নির্দিষ্ট সামগ্রীর ধরণের অধিকার এবং সম্পাদনা করার অধিকার রয়েছে a এটি সমস্ত ব্যবহারকারীদেরকে সেই ধরণের সমস্ত নোড দেখতে এবং সম্পাদনা করার সুযোগ দেয়। তবে প্রকৃতপক্ষে, আমি প্রতিটি ব্যবহারকারীর জন্য একটি অনন্য নোড তৈরি করতে চাই, যাতে কেবল সেই ব্যবহারকারী এটি দেখতে এবং সম্পাদনা করতে পারে। ড্রুপাল 7 এ আমি কীভাবে এটি করতে পারি?


1
আপনি কী বোঝাতে চেয়েছেন যে আপনি একটি মডিউল ব্যবহার করে এটি কীভাবে করতে পারেন, বা প্রয়োজনীয় কোড লেখার ক্ষেত্রে আপনি কীভাবে তা করতে পারেন?
কিমলালুনো

ক্ষেত্রগুলি দ্বারা ব্যবহারকারীর প্রোফাইল ব্যবহার এবং প্রসারিত করা অন্য উপায়।
ya.teck 12

দেখে মনে হচ্ছে এই ব্যবহারকারীর প্রতি নোডটি কোনওরকম ব্যবহারকারীর প্রোফাইলের প্রয়োজনীয়তা পূরণ করতে পারে। এটির একটি পৃথক নোড হতে হবে, বা অতিরিক্ত ক্ষেত্রগুলি দিয়ে ব্যবহারকারী সত্তাটি প্রসারিত করা ভাল না?
আলফ্রেড আর্মস্ট্রং

ড্রুপাল 7 ব্যবহারকারীর জন্য নোড দেখার অনুমতি সরানো হয়েছে। আপনি তাদেরকে এই মডিউলটির সাহায্যে ফিরিয়ে আনতে পারবে drupal.org/project/node_view_permissions
giorgio79

ব্যবহারের মডিউল "nodeaccess" লিঙ্ক drupal.org/project/nodeaccess আমি এটা আপনাকে সাহায্য করবে ইচ্ছুক
মহীপাল পুরোহিত

উত্তর:


11

বিদ্যমান মডিউলটি ব্যবহার করে, আপনি সামগ্রী অ্যাক্সেসের সাহায্যে এটি করতে পারেন , যা (যখন এসিএল একসাথে ব্যবহৃত হয় ) প্রতিটি ব্যবহারকারীর জন্য নোড অ্যাক্সেসের অনুমতি সেট করতে দেয়।
এর অর্থ হ'ল প্রতিটি নোডের জন্য আপনাকে অ্যাক্সেসের অনুমতিগুলি ম্যানুয়ালি সেট করতে হবে।

আপনি যদি ম্যানুয়ালি নোডগুলি তৈরি করেন এবং তারপরে আপনি নিশ্চিত হতে চান যে নোডের মালিক হিসাবে সেট করা ব্যবহারকারী কেবল এটি দেখতে (এবং সম্পাদনা করতে) সক্ষম করতে পারেন তবে আপনি একটি কাস্টম মডিউল তৈরি করতে পারবেন (যার অর্থ একটি মডিউল যা আপনার সাইটের জন্য ব্যবহৃত) এবং hook_node_access()নিম্নলিখিত হিসাবে প্রয়োগ করুন (কোডটি এটি পড়তে সহজ করার জন্য লেখা হয়েছে):

function mymodule_node_access($node, $op, $account) {
  // We are interested to existing objects. When the node is being created, Drupal passed the node type instead of the node object. 
  if (is_object($node)) {
    $bool = (
      ($node->type == 'the node type you need to check') && 
      (($op == 'view') || ($op == 'update'))
    );
    if ($bool) {
      if ($account->uid == $node->uid) {
        return NODE_ACCESS_ALLOW;
      }
      else {
        return NODE_ACCESS_DENY;
      }
    }
  }

  return NODE_ACCESS_IGNORE;
}

এই হুক বাস্তবায়নটি ব্যবহার করে, আপনার তৈরি করা সামগ্রীর ধরণের প্রতিটি নোডের জন্য দেওয়া অ্যাক্সেস অনুমতি ম্যানুয়ালি সম্পাদনা করার দরকার নেই। নোডের মালিক পরিবর্তন করা আরও সহজ হবে, কারণ আপনাকে সেই নোডের অ্যাক্সেস অনুমতি পরিবর্তন করার দরকার নেই; কোডটি স্বয়ংক্রিয়ভাবে আপডেটটি দেয় এবং নোডের মালিক (বা লেখক) হিসাবে ব্যবহারকারী সেটটিকে অনুমতি দেয়।


5

এটি করার জন্য আপনার কোনও বিশেষ মডিউল বা কাস্টম কোডের দরকার নেই। কেবল সেই নোডগুলিকেই ম্যানুয়াললি তৈরি করুন, নোডগুলির মালিক (লেখক) হিসাবে উপযুক্ত ব্যবহারকারীদের সেট করুন এবং কেবলমাত্র নিজের সামগ্রী (এই ধরণের কোনও সামগ্রী সম্পাদনা করবেন না) সম্পাদনা করার জন্য এই বিষয়বস্তুতে অনুমতি সেট করুন এবং আপনার কাজ শেষ হয়েছে।


1

আপনি যে সম্পর্কে কথা বলছেন তা হ'ল দ্রুপাল নোড অ্যাক্সেস নিয়ন্ত্রণ, যা একটি বিশাল বিষয়।

নোড অ্যাক্সেস নিয়ন্ত্রণের জন্য কোরটির অন্তর্নির্মিত সমর্থনটি অবশ্যই কোর্সের, এবং কোনও নোডকে ভূমিকা অনুসারে দেখার জন্য অ্যাক্সেস নিয়ন্ত্রণ করতে আপনাকে অবশ্যই কোনও ধরণের নোড অ্যাক্সেস নিয়ন্ত্রণ মডিউল ব্যবহার করতে হবে। Drupal.org এ একটি পৃষ্ঠা রয়েছে যা সমস্ত নোড অ্যাক্সেস মডিউল তালিকাভুক্ত করে , যার প্রতিটি ক্যাপসুল পর্যালোচনা রয়েছে। অ্যাক্সেস নিয়ন্ত্রণের জন্য আপনি কোনও উপযুক্ত মডিউল খুঁজে পেতে পারেন কিনা তা দেখার জন্য আমি আপনাকে সেই পৃষ্ঠাটি একবার দেখে পরামর্শ দিই।

ফ্লেক্সি অ্যাক্সেস মডিউল মডিউল আপনার প্রয়োজনীয়তা সবচেয়ে বেশি মিল যে, তার মনে করা হয় প্রাথমিক কাজ আপনাকে নির্দিষ্ট ব্যবহারকারীদের জন্য অ্যাক্সেস নিয়ন্ত্রণ, বরং ভূমিকা দ্বারা কম বা বর্গীকরণ সূত্র শব্দটি দ্বারা দেওয়া হয়।

এটি একটি ছোট মডিউল যা আপনাকে পৃথক ব্যবহারকারীর জন্য এসিএল (অ্যাক্সেস নিয়ন্ত্রণের তালিকা) সেট আপ করতে দেয়। এটি মূলত এসিএল মডিউলের জন্য একটি ব্যবহারকারী ইন্টারফেস , সুতরাং আপনার এটিও ইনস্টল করা দরকার।

এটিতে কন্টেন্ট অ্যাক্সেসের মতো আরও উন্নত অ্যাক্সেস নিয়ন্ত্রণ মডিউলগুলির কয়েকটি বৈশিষ্ট্যের অভাব রয়েছে , তবে এটি সক্রিয়ভাবে রক্ষণাবেক্ষণ করা হয় এবং বর্তমানে এটির ইস্যু সারিতে কোনও উন্মুক্ত বাগ নেই।

প্রকাশ: আমি ফ্লেক্সি অ্যাক্সেসের রক্ষণাবেক্ষণকারী।

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