5

के अनुसार डैशबोर्ड पर आइटम प्रदर्शित करें मैं सिम्फनी 2 के लिए नया हूं, और मेरी कंपनी की ज़रूरतों के लिए मैं सोनाटा एडमिन और उपयोगकर्ता बंडलों का उपयोग कर रहा हूं।उपयोगकर्ता भूमिका

मैं जानना चाहता हूं कि लॉग इन उपयोगकर्ता की भूमिका के अनुसार डैशबोर्ड पर आइटम छिपाना या दिखाना संभव है या नहीं।

उदाहरण के लिए, मेरे पास सोनाटा एडमिनबंडल (उपयोगकर्ता, कंपनी, मिशन, साइट इत्यादि ... प्रबंधन) द्वारा प्रबंधित कई संस्थाएं हैं और मैं केवल उपयोगकर्ता प्रबंधन को सुपर एडमिन, कंपनी और साइट प्रबंधन में प्रदर्शित करना चाहता हूं एक और भूमिका (उदाहरण के लिए SITE_ADMIN) और तीसरे भूमिका के मिशन।

क्या आपने कभी इस स्थिति का सामना किया है? क्या आप मुझे सीधे समाधान के लिए समाधान या सुराग दे सकते हैं?

बहुत धन्यवाद,

Enes

उत्तर

5

उपयोग Role handler और केवल, के लिए उदाहरण के लिए, समूह (इसे बनाने) व्यवस्थाएँ उपयोगकर्ता संबंधित अधिकार सक्षम करें। फिर व्यवस्थापक उपयोगकर्ताओं को व्यवस्थापक उपयोगकर्ताओं को असाइन करें। सोनाटा एडमिन प्रतिबंध उठाएगा और केवल एडम्स को डैशबोर्ड आइटम प्रदर्शित करेगा।

+2

हाँ आपको अपनी कॉन्फ़िगरेशन में 'sonata_admin: सुरक्षा: हैंडलर: sonata.admin.security.handler.role' सेट करना होगा। फिर आप व्यवस्थापक के विभिन्न हिस्सों तक पहुंचने के लिए आवश्यक भूमिकाएं सेट कर पाएंगे। –

+0

आपके उत्तरों के लिए बहुत बहुत धन्यवाद, थोड़ा देर हो चुकी है लेकिन अब मेरे लिए सब कुछ ठीक है :) – Enessari

2

इसके अलावा आप को छुपा सकते हैं और userboard में प्रदर्शन ब्लॉक इस तरह से:

# app/config/config.yml 
sonata_admin: 
dashboard: 
    groups: 
     acme.admin.group.content: 
      label: acme.admin.group.content 
      label_catalogue: AcmeDemoBundle 
      items: 
       - sonata.admin.post 
     acme.admin.group.blog: 
      items: ~ 
      item_adds: 
       - sonata.admin.page 
      roles: [ ROLE_ONE, ROLE_TWO ] 
     acme.admin.group.misc: ~ 

रूप in the docs उल्लेख किया है।

कृपया ध्यान दें कि यह केवल ब्लॉक की दृश्यता को बदलता है, न कि पहुंच योग्यता। यदि कोई प्रतिबंध नहीं है तो लोग ब्राउज़र में लिंक को तब भी खोल सकते हैं यदि उन्हें पता है।

यदि आप पिछले उत्तर का उपयोग sonata.admin.security.handler.role को कार्यान्वित करते हैं तो ब्लॉक को स्वचालित रूप से छुपाया जाना चाहिए यदि उपयोगकर्ता की सही भूमिका नहीं है।

संबंधित मुद्दे