既存のXMLベースのWebサービスをREST Webサービスに変換したい。サービスはすでに動作していますが、セキュリティの実装には苦労しています。jax-rsとcxfインターセプタとコールバックハンドラ
は、かつての実装では、我々は、この(ファイルws-server-context.xml
)のようなインターセプタを使用:
<jaxws:endpoint id="someService" implementor="..." address="/..." >
<jaxws:inInterceptors>
<bean class="org.apache.cxf.binding.soap.saaj.SAAJInInterceptor" />
<bean class="org.apache.cxf.ws.security.wss4j.WSS4JInInterceptor">
<constructor-arg>
<map>
<entry key="action" value="UsernameToken" />
<entry key="passwordType" value="PasswordText" />
<entry key="passwordCallbackRef" value-ref="sessionService" />
</map>
</constructor-arg>
</bean>
</jaxws:inInterceptors>
</jaxws:endpoint>
、適切な資格情報をチェック呼び出されるメソッド豆sessionService
のhandle(Callback[] callbacks)
、 (ユーザ名+トークン)。このBeanは、インタフェースCallbackHandler
を実装しています。
JAX-RSでこのアプローチをどのように実装できますか?エンドポイントはWebサービスクラス自身(@Path
)で定義されているので、そこにアノテーションを使用する必要はありますか?インターセプタを登録するにはどうすればよいですか?
ありがとうございました!代わりに、迎撃の
この@Philippを解決できましたか? – Sampada
実際には別のフレームワークを使用しているので、実際にはこのセキュリティアプローチを続行しません。しかし、助けてくれてありがとう! –
OK。今どのフレームワークを使用しているのか分かりますか?私も助けてくれるかもしれません! – Sampada