在我的系统中,我为用户分配了许多角色(现在假设为 3 个ROLE_ADMIN, ROLE_USER, ROLE_SERVICES
)。在我的一个控制器中(假设SearchController
我们有三个操作serviceIndex{}, userIndex{} and adminIndex{}
),我希望任何角色的用户都能够访问其中两个操作(前两个)。对于最后的操作,我想限制针对单一角色类型的用户(比如说 ROLE_USER)的操作,但允许访问其他角色的用户(即ROLE_ADMIN, ROLE_SERVICE
。我的 requestmap 表中有类似以下内容的内容。
config_attribute ------------------------------------------------- ----------> url
ROLE_ADMIN,ROLE_SERVICE,ROLE_USER ------------------------------> /search /serviceIndex
ROLE_ADMIN,ROLE_SERVICE,ROLE_USER-------------------------------------------> /search/userIndex
ROLE_ADMIN,ROLE_SERVICE ---- -------------------------------------> /search/adminIndex
由于第三条规则规定 ROLE_USER 无法访问 url '/search/adminIndex',因此具有该角色的用户应该被拒绝访问该 url 的授权。但是,用户仍然可以访问该网址。什么是正确的配置。我确实尝试过类似的东西/search/adminIndex/**
,但这也不起作用。附带说明一下,所有网址都没有后缀,但如果用户像添加后缀一样操纵网址,我仍然想阻止访问,以防/search/userIndex/56a
万一。
问候,迪普斯