Flo*_*ran 4 php symfony symfony4
我想直接在 security.yaml 的 access_controls 中拒绝登录用户的注册/登录路由的访问
有人知道如何在文档中执行此操作吗?我没有看到那样的东西。
当前的访问控制:
access_control:
- { path: ^/signin$, roles: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/signup$, roles: IS_AUTHENTICATED_ANONYMOUSLY}
- { path: ^/product$, roles: IS_AUTHENTICATED_ANONYMOUSLY }
Run Code Online (Sandbox Code Playgroud)
小智 5
仅当用户在 security.yaml 中没有角色 ROLE_USER 时,您才可以添加允许的 access_control :
- { path: ^/sign(up|in), allow_if: "not has_role('ROLE_USER')" }
Run Code Online (Sandbox Code Playgroud)
您必须添加任何 access_denied_url
access_denied_url: /access-denied
Run Code Online (Sandbox Code Playgroud)
并添加一个带有路由 /access-denied 的控制器操作,该操作将用户重定向到路由登录(如果未登录)和配置文件页面(如果已登录):
/**
* @Route("/access-denied", name="app_access_denied")
*/
public function accessDenied()
{
if ( $this->getUser() ) {
return $this->redirectToRoute('app_user_home');
}
return $this->redirectToRoute('app_login');
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1472 次 |
| 最近记录: |