我想要:
/ p / {name} ==>在公共访问权限中
/ profile ==>登录登录
我是在 security.yml
中完成此操作的access_control:
- { path: ^/[p]/* , role: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/*, role: ROLE_CONNECT }
但是,当我浏览时:
/个人资料 =>可以公开访问==> K.O。
/ p / name-此处 =>可以公共访问==> 确定
答案 0 :(得分:2)
我非常确定 public IActionResult Index()
{
return View();
}
将匹配以^/[p]/*
开头的任何路径,并且您将其作为第一条规则,因此它首先匹配并允许访问。
方括号/p
定义了一组要匹配的字符,您只想匹配一个字符就不需要了。 []
说要在末尾匹配零个或多个*
字符,您知道/
之后将有一个/
,因此请省略星号。路径是前缀,因此您不必担心路径的可变部分。
尝试一下:
p