我需要在用户成功登录后执行一系列操作.这包括从数据库加载数据并将其存储在会话中.
实现这个的最佳方法是什么?
我想eraseCredentials是为了退出?如果是这样,我如何清除Doctrine实体的会话?
浏览器在main中关闭时,我将会话设置为过期config.yml:
framework:
session:
default_locale: %locale%
lifetime: 0
auto_start: true
Run Code Online (Sandbox Code Playgroud)
然后我按照文档中的描述为登录页面设置"记住我",即使我检查"记住我",我也会注销(当我重新启动浏览器时).
如何在用户关闭浏览器时将Symfony2应用程序设置为使cookie过期,但如果在登录时选择(通过检查"记住我"),则将其保留?
我正在使用Symfony2- beta5 RC1 RC3.
我的symfony应用程序(3.4.8)似乎忽略了任何延长会话的尝试.解决此问题的最佳做法是什么?文档很模糊.
应用程序/配置/ security.yml
security:
encoders:
FOS\UserBundle\Model\UserInterface: bcrypt
providers:
fos_userbundle:
id: fos_user.user_provider.username
main:
pattern: ^/
form_login:
provider: fos_userbundle
csrf_token_generator: security.csrf.token_manager
default_target_path: /
logout: true
anonymous: true
remember_me:
secret: '%secret%'
lifetime: 28000
path: /
access_denied_handler: app.security.access_denied_handler
Run Code Online (Sandbox Code Playgroud)
config.yml
framework:
lock: 'semaphore'
#esi: ~
#translator: { fallbacks: ["%locale%"] }
secret: "%secret%"
router:
resource: "%kernel.root_dir%/config/routing.yml"
strict_requirements: ~
form: ~
csrf_protection: ~
validation: { enable_annotations: true }
#serializer: { enable_annotations: true }
templating:
engines: ['twig']
default_locale: "%locale%"
trusted_hosts: ~
trusted_proxies: ~
session:
handler_id: session.handler.native_file
save_path: "/tmp" …Run Code Online (Sandbox Code Playgroud)