2

私はスプリングセキュリティの初心者ですが、問題があります((スプリングセキュリティ3.1を使用しました))。プロジェクトがあり、springSecurityアプリケーションコンテキストではなく、DbからすべてのspringセキュリティURLパターンを読み取る必要があります。

どうすればいいですか?私のポイントは、springSecurityアプリケーションコンテキストで以下のconfigを使用する代わりに、Javaクラスで特別なURLへのアクセスを管理する方法です。

<intercept-url pattern="/customer/showAll" access="hasAnyRole('OPERATOR,ADMIN')"/>

ありがとうございました

4

1 に答える 1

3

FilterInvocationSecurityMetadataSourceの独自の実装を提供できます。Collection getAttributes(Object object)メソッドでは、パターンをロードし、DBからパラメーターにアクセスできます(デフォルトの実装を参照)。各パターンはRequestMatcherオブジェクトに変換する必要があります。アクセス属性値は、ConfigAttributeオブジェクトのコレクションに変換する必要があります。入力オブジェクトとして、着信要求があります。DBからrequestMapにデータを入力する必要があります。 デフォルトのExpressionBasedFilterInvocationSecurityMetadataSourceの代わりに独自のFilterInvocationSecurityMetadataSource実装を使用するようにSpringSecurityを構成する方法についてはこちらをご覧ください。

于 2013-01-08T14:02:08.197 に答える