如何创建一个定制的拒绝访问处理器吗
编辑该页面警告:你浏览的文档欧宝官网下载appob娱乐下载Symfony 4.3,不再维护。
读这个页面的更新版本Symfob娱乐下载ony 6.2(当前的稳定版本)。
如何创建一个定制的拒绝访问处理器吗
当你的应用程序抛出AccessDeniedException
,你可以处理这个异常与服务返回一个自定义的响应。
首先,创建一个类,它实现了AccessDeniedHandlerInterface。这个接口定义了一个方法调用处理()
你可以实现任何逻辑访问被拒绝时应执行当前用户(如发送邮件日志消息,或通常返回一个自定义响应):
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
名称空间应用程序\安全;使用ob娱乐下载\组件\HttpFoundation\请求;使用ob娱乐下载\组件\HttpFoundation\响应;使用ob娱乐下载\组件\安全\核心\异常\AccessDeniedException;使用ob娱乐下载\组件\安全\Http\授权\AccessDeniedHandlerInterface;类AccessDeniedHandler实现了AccessDeniedHandlerInterface{公共函数处理(请求美元请求,AccessDeniedException美元accessDeniedException){/ /……返回新响应(美元内容,403年);}}
如果你使用默认的服务。yaml的配置,你做的!ob娱乐下载Symfony会自动知道你的新服务。然后您可以配置它在你的防火墙:
- YAML
- XML
- PHP
1 2 3 4 5 6 7
#配置/包/ security.yaml防火墙:#……主要:#……access_denied_handler:App \安全\ AccessDeniedHandler
就是这样!任何AccessDeniedException
由代码主要
防火墙将会由您的服务。
这项工作,包括代码示例,许可下Creative Commons冲锋队3.0许可证。