2012-03-27 18 views
5

तक पहुंचने की अनुमति नहीं है, मैं एक निश्चित पृष्ठ पर रीडायरेक्ट करने का तरीका जानने का प्रयास कर रहा हूं (जो मेरे मामले में भुगतान पृष्ठ है) उपयोगकर्ता जो है वैध सदस्यता चल रही नहीं है।Symfony2: किसी विशिष्ट पृष्ठ पर रीडायरेक्ट कैसे करें जब उपयोगकर्ता को यूआरएल पैटर्न

मुझे पता है कि मैं अपने सभी कार्यों में एक गारंटीकृत चेक डाल कर ऐसा कर सकता हूं, लेकिन मुझे यह समाधान पसंद नहीं है क्योंकि यह मेरे पास की गई कार्रवाइयों की एक बड़ी बर्बादी है।

मैं firewall.access_denied_url मानकों के आधार पर देखा है, लेकिन मैं भुगतान पृष्ठ पर accessdenied से जोड़ने के लिए है, क्योंकि उदाहरण के लिए, व्यवस्थापक पृष्ठ पहुँच ROLE_ADMIN नहीं उन सभी उपयोगकर्ताओं के लिए इनकार किया है नहीं करना चाहते, और किया जा रहा है भुगतान पृष्ठ पर रीडायरेक्ट करने से कोई अर्थ नहीं आता है।

मेरे पास पहले से ही एक मतदाता है जो जांचता है कि कोई उपयोगकर्ता वैध है या नहीं और उस मामले में पहुंच प्रदान करता है, लेकिन जब मैं उपयोगकर्ता किसी निश्चित पैटर्न तक पहुंचने का प्रयास करता है और उसे पुनर्निर्देशित करता है तो मैं इस मतदाता का उपयोग कैसे कर सकता हूं पहुंच अस्वीकार कर दी गई है?

अग्रिम धन्यवाद!

उत्तर

1

आप JMSAopBundle का उपयोग कर सकते हैं।

प्रलेखन से:

यह बंडल Symfony2 को AOP क्षमताएं जोड़ता है।

यदि आपने अभी तक एओपी के बारे में नहीं सुना है, तो यह मूल रूप से आपको एक समर्पित वर्ग में एक क्रॉस-कटिंग चिंता (उदाहरण के लिए, सुरक्षा जांच) को अलग करने की अनुमति देता है, और उस कोड को उन सभी स्थानों पर दोहराने की अनुमति नहीं देता है जहां यह है जरूरत है।

दूसरे शब्दों में, यह आपको पहले से कस्टम कोड निष्पादित करने की अनुमति देता है, और आपकी सेवा परत, या आपके नियंत्रकों में कुछ विधियों के आवेषण के बाद। आप मूल विधि के आविष्कार को छोड़ना या अपवाद फेंकना भी चुन सकते हैं।

+1

आप नियंत्रक श्रोता पर सरल क्यों नहीं उपयोग कर सकते हैं? – meze

+1

मुझे लगता है कि यह बंडल श्रोताओं के माध्यम से अपना काम करता है। आप श्रोताओं के माध्यम से खुद को प्राप्त कर सकते हैं। –

6

ऐप्लिकेशन में/config/security.yml सुरक्षा के बीच जोड़ें:

access_denied_url:/foo/error403

Symfony तो सभी पृष्ठों उपयोगकर्ता/foo/error403 पृष्ठ पर उपयोग नहीं कर सकते जो रीडायरेक्ट करेगा।

+1

सुधार, यह आगे बढ़ेगा (आंतरिक subrequest) –

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

  • कोई संबंधित समस्या नहीं^_^