Spring Securityを3.1.0から3.1.3にアップグレードしていますが、セットアップを壊すような変更が発生しました。
私はカスタムSecurityExpressionRootを使用して、intercept-urlエントリで使用するメソッドを公開していました。
<http entry-point-ref="forbiddenAccessEntryPoint" use-expressions="true" create-session="never"
access-decision-manager-ref="webAccessDecisionManager">
<intercept-url pattern="/licenses*" access="hasProjectAuthority('LICENSES')"/>
SecurityExpressionRootは、カスタムDefaultMethodSecurityExpressionHandlerを介して注入されます。
これは3.1.0では正常に機能していましたが、3.1.3にアップグレードした後、Springは「hasProjectAuthority」メソッドを評価できません。
EL1004E:(pos 0):メソッド呼び出し:メソッドhasProjectAuthority(java.lang.String)がorg.springframework.security.web.access.expression.WebSecurityExpressionRootタイプに見つかりません
これはどこかに移動しましたか?