मैं इस संरचना के साथ एक MVC आवेदन पर काम कर रहा हूँ:PHP - एक एमवीसी आवेदन में आरबीएसी और प्रमाणीकरण कहां रखा जाए?
Request
V
FrontController <-> Router
V
Controller <-> Model
V
View
मैं दो अन्य घटकों है कि मैं इस संरचना में जगह की जरूरत है:
Authentification
:$_SESSION
का उपयोग करने में उपयोगकर्ता के लॉग वैश्विक चर;RBAC
: भूमिका के आधार अभिगम नियंत्रण जांच कर सकते हैं कि एक भूमिका एक "ressource" (Controller
विधि) के लिए दी गई एक्सेस है, तो।
प्रत्येक उपयोगकर्ता के पास कोई भी भूमिका निभाई जा सकती है (वे भी कोई नहीं हो सकते हैं)।
अब, मैं मैं उन्हें करने में सक्षम होने की जरूरत है मेरी अनुप्रयोगों में उन दो घटक जगह की जरूरत है,:
- तो
User
authed नहीं है और है किRequest
एक authedUser
निष्पादित करने की आवश्यकता है, ग्राहक को लॉगिन पृष्ठ पर रीडायरेक्ट किया जाना चाहिए; RBAC
देखता authedUser
एक भूमिकाController
पर अमल करने के लिए आवश्यक "ressource" के लिए दी गई पहुँच गया है कि नहीं है कि अगर की विधि,Controller
की पद्धति अभी भी निष्पादित किया जाना चाहिए, लेकिन ज्ञान के साथ किUser
ऐसा करने के लिए (उदाहरण अनुमति नहीं था: एकUser
एक लेख लिखते हैं, लेकिन यह प्रकाशित करने का अधिकार नहीं है, इसलिए लेख एक ड्राफ्ट के रूप में सहेजा जाता है औरUser
बताया जाता है कि एकModerator
होगा इसे प्रकाशित करने के लिए)।
मैं पहले से ही कुछ विचार है जहां Authentification
और RBAC
पता लगाने के लिए, लेकिन मुझे यकीन है कि नहीं कर रहा हूँ:
Authentification
FrontController
याRouter
में जा सकते हैं;RBAC
FrontController
याController
में जा सकता है।
मैंने देखा कि किसी ने मॉडल में RBAC
डाला है लेकिन मुझे समझ में नहीं आता है।
मुझे इस विषय पर कुछ अंतर्दृष्टि चाहिए। मुझे Authentification
और RBAC
घटक कहां रखना चाहिए?
धन्यवाद!
आप प्रमाणीकरण और प्रमाणीकरण के बीच अंतर के बारे में बात कर रहे हैं। और आरबीएसी "पूरी तरह से आपके कार्यान्वयन" नहीं है: http://csrc.nist.gov/rbac/sandhu-ferraiolo-kuhn-00.pdf –