0

春のセキュリティでは、次の構成を使用して特定の Web リソースへのアクセスを制限できます。 <intercept-url pattern="/admin.xhtml" access="hasPermission('admin')" />

今、私はたくさんのページを持っています。それぞれにアクセスするには、ページ名と同じ名前の特別な許可が必要です。パターンを受け入れますが、正規表現に一致したグループからintercept-urlへのパラメーターの受け渡しを提供していないようです。私はこのようなものが欲しい:patternaccess

<intercept-url pattern="/([a-z]+).xhtml" access="hasPermission('$1')" />
4

1 に答える 1

2

残念ながら、一致した正規表現グループをアクセス ルールで使用することはできません。回避策として、カスタム Web セキュリティ式の定義を試みることができます。一致した正規表現グループの抽出を担当します。

<intercept-url pattern="/([a-z]+).xhtml" access="hasPermission(extractGroup('$1', '/([a-z]+).xhtml'))" />

実行中、extractGroup(...)メソッドは現在の HttpRequest を使用できます。このソリューションには 2 つの欠点があります。1) 実行するのはそれほど単純ではありません。2) conf で正規表現パターンが複製されます。よろしければ、ここでカスタム Web セキュリティ式を追加する方法をお読みください。

于 2013-01-30T12:52:18.693 に答える