Security FosUserBundle如何修复重定向循环
嗨,我使用fosuserbundle登录后有重定向循环 看起来怎么样?我输入好的用户名和密码,然后登录我可以看到它与symfony profiller 探查器说这个请求重定向到http://web.dev/app_dev.php/admin/panel. 我去了那里,它说这个请求重定向到http://web.dev/app_dev.php/admin/login. 我在这里不再被认证了 这是我的安全:Security FosUserBundle如何修复重定向循环,security,loops,symfony,configuration,fosuserbundle,Security,Loops,Symfony,Configuration,Fosuserbundle,嗨,我使用fosuserbundle登录后有重定向循环 看起来怎么样?我输入好的用户名和密码,然后登录我可以看到它与symfony profiller 探查器说这个请求重定向到http://web.dev/app_dev.php/admin/panel. 我去了那里,它说这个请求重定向到http://web.dev/app_dev.php/admin/login. 我在这里不再被认证了 这是我的安全: jms_security_extra: expressions: true secu
jms_security_extra:
expressions: true
security:
encoders:
Symfony\Component\Security\Core\User\User: plaintext
FOS\UserBundle\Model\UserInterface: sha512
MainBundle\Security\User\SsoUser: sha512
role_hierarchy:
ROLE_ADMIN: ROLE_USER
ROLE_SUPER_ADMIN: [ROLE_USER, ROLE_ADMIN, ROLE_ALLOWED_TO_SWITCH]
providers:
in_memory:
memory:
users:
"%api_username%": { password: "%api_password%", roles: [ 'ROLE_API' ] }
fos_userbundle:
id: fos_user.user_provider.username_email
ssoprovider:
id: sso_user_provider
firewalls:
dev:
pattern: ^/(_(profiler|wdt)|css|images|js)/
security: false
login:
pattern: ^/demo/secured/login$
security: false
admin:
pattern: ^/admin/
form_login:
provider: fos_userbundle
csrf_provider: form.csrf_provider
login_path: fos_user_security_login
check_path: fos_user_security_check
default_target_path: admin_main
logout:
path: fos_user_security_logout
invalidate_session: true #https://github.com/symfony/symfony/issues/5868
anonymous: true
remember_me:
name: "web_remember_me"
key: "%secret%"
lifetime: 864000 # 10 days
path: /admin
secured_area:
pattern: ^/(?!admin)
form_login:
login_path : main_user_logout
stateless: false
anonymous: false
simple_preauth:
authenticator: sso_authenticator
logout:
path: main_user_logout
invalidate_session: true
success_handler: sso_authentication_handler
api:
pattern: ^/api
stateless: true
http_basic:
realm: "Secured API Area"
access_control:
- { path: ^/admin/login$, role: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/admin/resetting, role: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/admin/, role: ROLE_ADMIN }
- { path: ^/api/, roles: ROLE_API }
- { path: ^/, role: ROLE_USER }
这是因为我在config.yml cookie_域中定义了 配置yml:
framework:
session:
cookie_domain: .%domain%
我必须添加“记住我”域配置
security.yml:
admin:
remember_me:
domain: ".%domain%"
您是否为用户指定了role_SUPER_ADMIN或role_ADMIN角色?除非另有规定,否则生成的用户通常只具有role_user的角色。我得到了role_ADMIN我忽略了这些方法,当我添加了secured_区域并编写ssoprovider时,问题出现了。我使用fosuserbundle对经过身份验证的管理员进行身份验证,并使用我自己的自定义身份验证程序对用户进行身份验证您使用的是哪个版本的PHP?我遇到了一个与此非常类似的问题,结果证明这是PHP处理会话的一个错误。5.4,我已经解决了我的问题,因为我定义了cookie_域,并且在防火墙域中添加了:%domain%