新在Symfoob娱乐下载ny 6.2:安全改进(第1部分)
2022年11月23日·发表的哈维尔Eguiluz
ob娱乐下载Symfony 6.2是支持通过Les-Tilleuls.coop。Les-Tilleuls.coop是a team of 70+ Symfony experts who can help you design, develop and fix your projects. We provide a wide range of professional services including development, consulting, coaching, training and audits. We also are highly skilled in JS, Go and DevOps. We are a worker cooperative!
简单的编程登录
登录用户编程是一种常见的需要在许多应用程序中。这就是为什么在Symfonyob娱乐下载 6.2我们添加一个登录()
方法安全服务。在任何服务或控制器,您现在可以这样做:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21日22日23日24日25日26日
使用ob娱乐下载\包\SecurityBundle\安全;/ /……类SomeService{公共函数__construct(私人安全美元安全,){}公共函数someMethod(){/ /获取用户界面对象以某种方式(例如,从一个数据库)美元用户=……/ /登录用户通过编程的方式美元这- >安全- >登录(美元用户);/ /如果你有许多相关的身份验证器当前防火墙,/ /你必须通过明确身份验证使用的名称美元这- >安全- >登录(美元用户,“form_login”);美元这- >安全- >登录(美元用户,SomeApiKeyAuthenticator::类);/ /……}}
当冒充用户定制的目标URL
提供的
安东尼Makdessi
在# 46338。
类似于功能,允许配置登录后的目标URLSymfoob娱乐下载ny 6.2中,我们添加一个新特性允许您配置后的目标URL冒充一个用户。为此,定义新的target_route
以下选项switch_user
选择你的防火墙:
1 2 3 4 5 6 7 8 9 10
#配置/包/ security.yaml安全:#……防火墙:主要:#……switch_user:#……target_route:“app_user_dashboard”
自定义一生登录链接
提供的
马赛厄斯Brodala
在# 46567。
当使用登录链接来实现无密码认证全球配置,这些链接的一生。在Syob娱乐下载mfony 6.2我们添加一个功能,这样你就可以配置每个链接的一生。使用的第三个可选参数createLoginLink ()
覆盖全球的一生中一个新的自定义值(以秒为单位):
1 2 3
/ /这个登录链接会有一生的60秒美元loginLinkDetails=美元loginLinkHandler- >createLoginLink (美元用户,零,60);美元loginLink=美元loginLinkDetails- >getUrl ();
多个用户检查/防火墙
用户检查允许您定义额外的检查执行身份验证的用户,验证确认是否允许用户登录。你只能申请一个用户检查/防火墙,这使得它难以共享逻辑。
想象有两个防火墙的应用程序(例如API和传统的web登录),需要应用这些检查:对防火墙、检查用户帐号不是残疾;API的防火墙,检查该用户也API访问。
在Syob娱乐下载mfony 6.2我们引入一个新的“用户链接检查器”功能,这样你就可以打电话给多个用户检查防火墙。,适用于每个用户检查防火墙,它对应的标签(标签适用于遵循的模式security.user_checker。<防火墙名称>
)。
在Syob娱乐下载mfony 6.2中,可以解决前面的示例如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
名称空间应用程序\安全\用户;使用ob娱乐下载\组件\DependencyInjection\属性\AutoconfigureTag;使用ob娱乐下载\组件\安全\核心\用户\UserCheckerInterface;# [AutoconfigureTag security.user_checker。主要的(“优先级”= > 10)))# [AutoconfigureTag security.user_checker。api”,(“优先级”= > 10)))最后类DisabledAccountUserChecker实现了UserCheckerInterface{/ /……}# [AutoconfigureTag security.user_checker。api”,(“优先级”= > 5)))最后类ApiAccessAllowedUserChecker实现了UserCheckerInterface{/ /……}
发表在#生活在边缘
评论
我真的很喜欢那些投入特别是编程上登录在过去是很困难的。
@Jonathan你是对的!我刚刚更新了一篇你的建议。谢谢!
在最终版本之前,配置改名为从target_url target_route(在另一个公关)
我认为配置示例应该相应更新,请参阅https://github.com/symfony/symfony-docs/pull/17024 refob娱乐下载
干杯!
Javier Eguiluz is a certified Symfony engineer.
Get certified! Online exams available in all countries.
Register Now