java - 为 play 框架和 spring 定制 secureSocial(依赖注入(inject))

标签 java spring playframework playframework-2.0 securesocial

我正在使用 Play 2.0.6 的安全社交版本 2.0.13 以及 play 和 spring。 我从类型安全教程下载了项目模板,并使用 http://securesocial.ws/guide/getting-started.html 中的指南向其中添加了安全社交。 然后我用我的版本替换了登录和模板,因为我需要没有注册的登录页面。因此,我将登录名及其模板复制到我的自定义包中,并从中删除了注册标签。 问题是当我启动应用程序并请求 url 时,我遇到了此错误:

[error] play - Cannot invoke the action, eventually got an error: org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type [securesocial.core.java.SecureSocial$Secured] is defined[error] application -

! @6gfok11pe - Internal server error, for (GET) [/] ->
play.api.Application$$anon$1: Execution exception[[NoSuchBeanDefinitionException: No qualifying bean of type [securesocial.core.java.SecureSocial$Secured] is defined]]
        at play.api.Application$class.handleError(Application.scala:293) ~[play_2.10.jar:2.2.0]
        at play.api.DefaultApplication.handleError(Application.scala:399) [play_2.10.jar:2.2.0]
        at play.core.server.netty.PlayDefaultUpstreamHandler$$anonfun$2$$anonfun$applyOrElse$3.apply(PlayDefaultUpstreamHandler.scala:261) [play_2.10.jar:2.2.0]

        at play.core.server.netty.PlayDefaultUpstreamHandler$$anonfun$2$$anonfun    $applyOrElse$3.apply(PlayDefaultUpstreamHandler.scala:261) [play_2.10.jar:2.2.0]

        at scala.Option.map(Option.scala:145) [scala-library.jar:na]
        at play.core.server.netty.PlayDefaultUpstreamHandler$$anonfun$2.applyOrE  lse(PlayDefaultUpstreamHandler.scala:261) [play_2.10.jar:2.2.0]
Caused by: org.springframework.beans.factory.NoSuchBeanDefinitionException: No q    ualifying bean of type [securesocial.core.java.SecureSocial$Secured] is defined
        at org.springframework.beans.factory.support.DefaultListableBeanFactory.getBean(DefaultListablBeanFactory.java:296) ~[spring-beans-3.2.3.RELEASE.jar:3.2.3.RELEASE]
        at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:1125) ~[spring-context-3.2.3.RELEASE.jar:3.2.3.RELEASE]
        at AbstractGlobal.getControllerInstance(AbstractGlobal.java:29) ~[oul_2.10.jar:na]
        at Global.getControllerInstance(Global.java:27) ~[classes/:na]
        at play.core.j.JavaGlobalSettingsAdapter.getControllerInstance(JavaGlobalSettingsAdapter.scala:46) ~[play_2.10.jar:2.2.0]
        at play.core.j.JavaAction$$anonfun$8.apply(JavaAction.scala:80) ~[play_2.10.jar:2.2.0]

但是,如果我不使用 spring(不使用 Global 且不使用 getControllerInstance),则示例工作得很好! 请帮助我一起使用安全社交和 Spring。 谢谢。

最佳答案

将此行添加到 Global.onStart() 中的 Global.java 中:

ctx.register(SecureSocial.Secured.class);

关于java - 为 play 框架和 spring 定制 secureSocial(依赖注入(inject)),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20451283/

相关文章:

java - 启用@EnableGlobalMethodSecurity 后,Hibernate 无法再获取 session

java - Play Framework 2.1 : Overriding configuration file programmatically in Global settings

playframework - 用于 Playframework 的 sbt 构建中的 HTML 缩小

java - 从 : android. os.Handler.handleCallback(Handler.java:733) 调用未实现的 WebView 方法运行

java - 我找不到数据源名称并且未指定默认驱动程序

java - 查找已调用弹出菜单的 JTable 行

java - 是否可以使用 JSR 303 字段验证来验证 List<String> 值

java - 使用 hibernate 更新 mysql 数据库时锁定行

java - Play Framework 2.3.x ByteChunks MP3 streaming 没有 Play ,在浏览器中不是 'scrollable'

java - 用于处理单页 Web 应用程序设计的单个 servlet