Spring security 使用Spring安全性时无法使用截取url

Spring security 使用Spring安全性时无法使用截取url,spring-security,Spring Security,我对security.xml的访问进行了一些更改,如: 但我不知道如何区分以下两个URL: /userform?create=Engagement&method=add&from=list /userform?create=manager&method=add&from=list 他们需要被分配到不同的角色。我试着做一些非常相似的事情,但做不到。在检查源代码时,我意识到Spring Security在应用粗粒度/URL授权时不考虑请求参数。p> 我最终创建了

我对
security.xml
的访问进行了一些更改,如:


但我不知道如何区分以下两个URL:

/userform?create=Engagement&method=add&from=list
/userform?create=manager&method=add&from=list

他们需要被分配到不同的角色。

我试着做一些非常相似的事情,但做不到。在检查源代码时,我意识到Spring Security在应用粗粒度/URL授权时不考虑请求参数。p> 我最终创建了两个独立的URL。

我也有同样的问题。我调试并发现
Spring
未能
parse
使用
逗号分隔
角色
,实际上它在
doparseexpression处抛出
ParseException
。您可以在[此处][1]找到确切的行
它说如果有
comma`,它会丢失一些数据。我不知道为什么。但是,目前看来@Oliver advice是个不错的建议。i、 e违反两行或更多行的规则

编辑 解决方案: 似乎在
版本4
中,筛选安全元数据源
希望获得
请求匹配器
,并使用表达式
,即尝试:

<filter-security-metadata-source request-matcher="ant" use-expressions="false">
        <intercept-url pattern="/app/admin/projectform*" access="ROLE_ADMIN,ROLE_ENGAGEMENT_MANAGER"/>
 </filter-security-metadata-source>

我也这么做了。。thanx:)