Güvenli bir rota var ise, aşağıdan panel
gibi söyleyelim, Symfony sadece giriş yapmış kullanıcılara erişime izin verecek. Her zaman (Ben FOSUserBundle kullanıyorum) login_path onları yönlendirir içinde yapmadınız kullanıcılar içinSymfony security redirect giriş sayfasına git
- { path: ^/login$, role: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/register, role: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/resetting, role: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/panel, role: ROLE_USER }
:
Ben devre dışı bırakmak veya bu yönlendirme geçersiz kılabilirsecurity:
firewalls:
main:
pattern: ^/
form_login:
provider: fos_userbundle
login_path: fos_user_security_login
? Kullanıcıyı yönlendirmeden doğrudan giriş formunu göstermek istiyorum.
AccessDeniedHandlerInterface
ile ilgili olması gerektiğine inanıyorum, ancak security.yml'de hangi anahtarın üzerine yazılması gerekiyor? Ve varsayılan uygulama nerede?
Diğer durumlar için, DefaultLogoutSuccessHandler, DefaultAuthenticationFailureHandler, DefaultAuthenticationSuccessHandler
adresimiz vardır ve bu durumların her biri için ilgili arabirimleri genişleten ve durumu özel bir şekilde ele alan bir hizmet uygulayabiliriz. Yine de AccessDenied için hiçbir şey bulamıyorum. Its directory sadece arabirimi içerir.
Yarar nedir? Oturum açtıktan sonra kullanıcı yeniden/panel'e yönlendirilecek ve farklı hissettirmeyecek - ne eksik durumdayım? – ccKep
Birkaç rotada bir giriş sayfası eklemek istiyorum. Kullanıcı sayfaya erişmek istiyor ama giriş yapmamıştı, ben de ona giriş formunu takdim ettim ve giriş yaptıktan sonra (ajax ile) panele yönlendiriliyor. –
bir giriş formu göstermek için anonim erişime izin vermelisiniz. Yani bir denetleyicide izninizi kontrol edin, örneğin – Heah