次のプロジェクト構造があります。
ベース プロジェクト (サービス層、モデル) web プロジェクト webservice プロジェクト
ここで、Web プロジェクトと Web サービス プロジェクトの両方が基本プロジェクトに依存し、それによって提供されるサービスを使用します。
私は Spring Framework を多用しています。つまり、サービスは@Secured Annotation とSpring Securityによって保護されたメソッドを持つ Spring Beanです。クライアントのアクセス許可をチェックする AbstractAclVoter を拡張するVoterを作成しました。
Web プロジェクトは、Spring MVCと、@EndpointアノテーションおよびXwsSecurityInterceptorを備えた Web サービス プロジェクトSpring WSを使用します。
これが私の問題です:
呼び出しが Web プロジェクト コントローラーまたはベース プロジェクトの JUnit テストで行われた場合、パーミッションはチェックされますが、Web サービス プロジェクトからのリクエストは正しいパーミッションについてチェックされません - 私の投票者は呼び出されません!
- これはXwsSecurityInterceptorと関係がありますか?
- Web サービス プロジェクトにもDelegatingFilterProxyが必要ですか? (すべてが MessageDispatcherServlet 構成によって構成されているため、 ContextLoaderListener はありません)