繁体   English   中英

Spring Security @Secured注释和Scala控制器

[英]Spring Security @Secured annotation and Scala controller

在一个Java / Scala Spring(v3.2)混合项目中,我想创建一个基于Scala的控制器,并使用@Secure批注对其进行保护。 对于Java控制器,这工作得很好,但是当我在scala控制器中添加@Secure批注时,它将在应用程序启动时从URL映射中消失。

样例代码:

@Controller
@Secured(Array("ROLE_USER"))
class TestController {
  @RequestMapping(value = Array("/show"), method = Array(RequestMethod.GET))
  def show = {
    "helloTemplate"
  }
}

如果我为每个方法添加安全注释,则情况相同-整个控制器类将从URL映射中消失(即使存在不安全的方法)。 日志中没有异常或警告。 如果我通过xml配置中的spring-security拦截URL来确保此URL的安全-一切正常(在控制器上没有@Secure注释)。 通过xml文件和注释驱动的配置的Spring和spring-security配置已打开。 感谢您的任何帮助。

在Spring 4 / Spring中,必须启用proxyTargetClass = true才能使用CGLIB类代理。 在使用Scala时,它优于Java类代理。

弹簧靴

@EnableGlobalMethodSecurity(securedEnabled = true, proxyTargetClass = true)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM