यदि मेरे पास एक सुरक्षित मार्ग है, तो मान लें कि panel
नीचे से, सिम्फनी केवल उपयोगकर्ताओं में लॉग इन करने की अनुमति देगा।सिम्फनी सुरक्षा पृष्ठ पर लॉग इन करने के लिए रीडायरेक्ट
- { path: ^/login$, role: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/register, role: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/resetting, role: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/panel, role: ROLE_USER }
उन है कि यह लॉग इन नहीं हैं हमेशा login_path (मैं FOSUserBundle उपयोग कर रहा हूँ) के लिए उन्हें रीडायरेक्ट करेगा के लिए:
security:
firewalls:
main:
pattern: ^/
form_login:
provider: fos_userbundle
login_path: fos_user_security_login
मैं कहां से अक्षम या इस अनुप्रेषित ओवरराइड कर सकते हैं? मैं उपयोगकर्ता को पुनर्निर्देशित किए बिना सीधे लॉगिन फॉर्म दिखाना चाहता हूं।
मुझे विश्वास है कि इसे AccessDeniedHandlerInterface
के साथ करना है, लेकिन सुरक्षा.आईएमएल में किस कुंजी को अधिलेखित करने की आवश्यकता है? और डिफ़ॉल्ट कार्यान्वयन कहां है?
अन्य स्थितियों के लिए हमारे पास DefaultLogoutSuccessHandler, DefaultAuthenticationFailureHandler, DefaultAuthenticationSuccessHandler
है और हम इन परिस्थितियों में से प्रत्येक के लिए एक सेवा लागू कर सकते हैं, जो उनके संबंधित इंटरफेस को बढ़ाता है और स्थिति को एक कस्टम तरीके से संभाल सकता है। AccessDenied के लिए कुछ भी नहीं मिल रहा है, यद्यपि। Its directory में केवल इंटरफ़ेस है।
क्या लाभ है? उपयोगकर्ता में लॉग इन करने के बाद वापस/पैनल पर रीडायरेक्ट किया जाएगा और यह कोई अलग नहीं लगेगा - मुझे क्या याद आ रही है? – ccKep
मैं कुछ मार्गों पर एक लॉगिन पेज जोड़ना चाहता हूं। उपयोगकर्ता पृष्ठ तक पहुंचना चाहता है लेकिन वह लॉग इन नहीं है इसलिए मैं उसे लॉगिन फॉर्म प्रस्तुत करता हूं और लॉगिन के बाद (AJAX के साथ) वह पैनल पर रीडायरेक्ट हो जाता है। एक लॉगिन फॉर्म दिखाने के लिए –
आपको अनाम पहुंच भी देनी चाहिए। तो नियंत्रक में अनुमति की जांच करें उदाहरण के लिए – Heah