किसी मौजूदा मॉड्यूल का उपयोग करते हुए, आप कंटेंट एक्सेस के साथ ऐसा कर सकते हैं , जो (जब ACL का एक साथ उपयोग किया जाता है ) प्रत्येक उपयोगकर्ता के लिए नोड एक्सेस करने के लिए अनुमतियाँ सेट करने की अनुमति देता है।
इसका मतलब है कि आपको प्रत्येक नोड के लिए मैन्युअल रूप से एक्सेस अनुमतियों को सेट करने की आवश्यकता है।
यदि आप मैन्युअल रूप से नोड्स बनाते हैं, और फिर आप यह सुनिश्चित करना चाहते हैं कि केवल वही उपयोगकर्ता जो नोड के मालिक के रूप में सेट है, वह इसे देख (और संपादित) कर सकता है, तो आप एक कस्टम मॉड्यूल (जिसका अर्थ है एक मॉड्यूल बना सकते हैं) आपकी साइट के लिए उपयोग किया जाता है), और 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;
}
इस हुक कार्यान्वयन का उपयोग करके, आपको उस प्रकार के प्रत्येक नोड के लिए दी गई पहुंच अनुमतियों को मैन्युअल रूप से संपादित करने की आवश्यकता नहीं है जो आप बनाते हैं। नोड के मालिक को बदलना भी आसान होगा, क्योंकि आपको उस नोड की एक्सेस अनुमतियों को बदलने की आवश्यकता नहीं है; कोड स्वचालित रूप से नोड के मालिक (या लेखक) के रूप में सेट किए गए उपयोगकर्ता को अपडेट और देखने की अनुमति देगा।