Php Symfony 4,在匿名用户和会话因不活动而终止的用户之间进行标识
是否有办法确定用户是完全匿名的,还是由于控制器不活动而导致会话过期的用户。 我尝试了Php Symfony 4,在匿名用户和会话因不活动而终止的用户之间进行标识,php,symfony,symfony4,Php,Symfony,Symfony4,是否有办法确定用户是完全匿名的,还是由于控制器不活动而导致会话过期的用户。 我尝试了$this->get('session')但发现它不是很可靠 有益的观点 用户尚未选择“记住我” 用户在一段时间不活动后已自动注销 我的目标是确定当前用户是否可能因为不活动而注销,或者仅仅是一个纯粹的匿名用户 我的security.yaml文件 security: encoders: App\Entity\MoUser: algorithm: bcrypt # https://symf
$this->get('session')代码>但发现它不是很可靠
有益的观点
- 用户尚未选择“记住我”
- 用户在一段时间不活动后已自动注销
我的目标是确定当前用户是否可能因为不活动而注销,或者仅仅是一个纯粹的匿名用户
我的security.yaml文件
security:
encoders:
App\Entity\MoUser:
algorithm: bcrypt
# https://symfony.com/doc/current/security.html#where-do-users-come-from-user-providers
providers:
our_db_provider:
entity:
class: App\Entity\MoUser
property: email
firewalls:
dev:
pattern: ^/(_(profiler|wdt)|css|images|js)/
security: false
main:
anonymous: ~
provider: our_db_provider
simple_form:
authenticator: App\Security\OfmAuthenticator
check_path: app_security_login
login_path: app_security_login
always_use_default_target_path: true
default_target_path: /
csrf_token_generator: security.csrf.token_manager
remember_me:
secret: '%kernel.secret%'
lifetime: 604800 #1 week in seconds
path: /
logout:
path: /logout
target: /login
我认为这不可能仅通过会话实现:如果会话由于超时而被终止,则完全没有更多可用信息,因为会话显然已被终止;)
您可以尝试使用类似“记住我”的cookie(有关该功能,请参阅)。即使会话过期,cookie也可以活得更长,并且可以帮助用户再次登录,而无需询问凭据我认为仅通过会话是不可能的:如果会话因超时而终止,则完全没有更多可用信息,因为会话显然已终止;)
您可以尝试使用类似“记住我”的cookie(有关该功能,请参阅)。即使会话过期,cookie也可以使用更长的时间,并且可以帮助用户再次登录,而无需询问凭据您能否向我们提供有关您的安全性的更多详细信息。yaml防火墙配置以及您希望实现的具体目标?感谢您的回答,我已经在我的帖子中添加了我的security.yaml。您可以给我们更多关于security.yaml防火墙配置的详细信息,以及您想要实现的具体目标吗?谢谢您的回答,我已经在我的帖子中添加了我的security.yaml