混合 Java/Scala Spring (v3.2) プロジェクトで、scala ベースのコントローラーを作成し、@Secure アノテーションで保護したいと考えています。Java コントローラーの場合、これは問題なく機能しますが、@Secure アノテーションを scala コントローラーに追加すると、アプリケーションの起動時に URL マッピングから消えます。
サンプルコード:
@Controller
@Secured(Array("ROLE_USER"))
class TestController {
@RequestMapping(value = Array("/show"), method = Array(RequestMethod.GET))
def show = {
"helloTemplate"
}
}
メソッドごとにセキュア アノテーションを配置した場合も同様です。コントローラー クラス全体が URL マッピングから消えます (セキュアでないメソッドがあっても)。ログに例外や警告はありません。この URL を xml 構成の spring-security interrupt-url で保護すると、すべてが正常に機能します (コントローラーに @Secure アノテーションがなくても)。xml ファイルによる Spring および spring-security 構成と、アノテーション駆動型構成がオンになっています。助けてくれてありがとう。