0

<intercept-url>私のspring-securityXMLにはいくつかあります。私はこの小さな疑問を持っています。次のようなものがあるとします:

<intercept-url pattern="/data/**" access="ROLE_ADMIN" />
<intercept-url pattern="/**" access="ROLE_USER,ROLE_ADMIN" />

以下<intercept-url>のパターンがあるため/**、2 番目の URL が最初の URL をオーバーライドするかどうか疑問に思っていました。たとえば、ユーザーであっても /data/** にアクセスできます。

4

2 に答える 2

2

リファレンス ドキュメントからの引用:

複数の<intercept-url>要素を使用して、さまざまな URL セットにさまざまなアクセス要件を定義できますが、それらはリストされた順序で評価され、最初に一致したものが使用されます。したがって、最も具体的な一致を一番上に配置する必要があります。

のルールが後でリストされている限り、/**のより具体的なルールを上書きすることはありません/data/**

jpprade がすでに示唆しているように、上記のルールでプレーン ユーザーとしてアクセスできる場合は/data/**、構成に別の問題があるはずです。その場合は、web.xml とセキュリティ構成全体を共有して、トラブルシューティングを行ってください。

于 2013-08-26T08:43:26.697 に答える
1

2 番目のルールは最初のルールを上書きしません。理論的には、最初に一致したルールが適用されます。

/data/** に USER としてアクセスできる場合は、構成で何かを見逃している可能性があります。おそらくフィルター宣言ですか?

于 2013-08-26T08:11:29.653 に答える