如何在Symfony上创建两个不同的安全区域?
问题描述:
我需要创建两个不同的安全区域。一个区域用于用户,另一个区域用于管理员。如果您是以用户身份进行身份验证并转到/ admin页面应用程序,则必须将您重定向到/ admin/login。这意味着一个人可以在我们的网站上进行两次认证 - 如用户和管理员。如何在Symfony上创建两个不同的安全区域?
security.yml:
firewalls:
front_end:
pattern: ^/security
provider: users
form_login:
check_path: /security/login_check
login_path: /login
logout:
path: /security/logout
target: /login
back_end:
pattern: ^/admin
provider: administrators
form_login:
check_path: /admin/login_check
login_path: /admlogin
logout:
path: /admin/logout
target: /admlogin
的routing.yml:
security_homepage:
pattern: /security
defaults: { _controller: SecureBundle:Default:index }
login:
pattern: /login
defaults: {_controller: SecureBundle:Default:login}
login_check:
pattern: /security/login_check
logout:
pattern: /security/logout
defaults: { _controller: SecureBundle:Default:logout }
admin:
pattern: /admin
defaults: { _controller : SecureBundle:Default:admin }
admin_login:
pattern: /admlogin
defaults: {_controller: SecureBundle:Default:admlogin}
admin_login_check:
pattern: /admin/login_check
admin_logout:
pattern: /admin/logout
现在我可以验证的两倍,但如果我从管理区域退出,系统注销我的用户太多。我如何解决这个问题?抱歉我的英语。
第一个问题是'你为什么要这样做?'如果他们是管理员,那么以管理员身份登录它们意味着有一段时间你不希望他们成为管理员。 – Lighthart 2013-04-30 18:38:12