gpt4 book ai didi

java - play2.1.0 上有 secuesocial 3.0-M1?

转载 作者:行者123 更新时间:2023-11-30 07:59:55 26 4
gpt4 key购买 nike

我已经使用 play 2.1.0 一段时间了,但在寻找让 securesocial 正常工作的方法时遇到了困难。我尝试了不同的版本,甚至下载了最新的 typesafe 激活器来尝试将其与 play2.4 一起使用,但没有成功。

有谁知道我是否可以将 securesocial 3.0-M1 与 play 2.1.0 一起使用?

我的 Controller \application.java

封装 Controller ;

导入play.Logger;

导入play.libs.F;

导入play.mvc.Controller;

导入play.mvc.Result;

导入 securesocial.core.BasicProfile;

导入 securesocial.core.RuntimeEnvironment;

导入 securesocial.core.java.SecureSocial;

导入 securesocial.core.java.SecuredAction;

导入 securesocial.core.java.UserAwareAction;w

导入service.DemoUser;

导入views.html.index;

导入views.html.linkResult;

公共(public)类应用程序扩展 Controller {

public static Logger.ALogger logger = 

Logger.of("application.controllers.Application");

private RuntimeEnvironment env;



public Application(RuntimeEnvironment env) {



this.env = env;



}




public Result index() {




if(logger.isDebugEnabled()){




logger.debug("access granted to index




DemoUser user = (DemoUser) ctx().args.get(SecureSocial.USER_KEY);




return ok(index.render(user, SecureSocial.<DemoUser>env()));




}




@UserAwareAction




public Result userAware()

{

    DemoUser demoUser = (DemoUser) ctx().args.get(SecureSocial.USER_KEY);



String userName ;




if ( demoUser != null ) {




BasicProfile user = demoUser.main;




if ( user.firstName().isDefined() ) {




userName = user.firstName().get();




} else if ( user.fullName().isDefined()) {




userName = user.fullName().get();




} else {




userName = "authenticated user";




}




} else {



userName = "guest";



}




return ok("Hello " + userName + ", you are seeing a public page");




}

@SecuredAction(authorization = WithProvider.class, params = {"twitter"})

public Result onlyTwitter() {   




return ok("You are seeing this because you logged in using Twitter");



}

@SecuredAction

public Result linkResult() {    




DemoUser current = (DemoUser) ctx().args.get(SecureSocial.USER_KEY




}

公共(public) F.Promise currentUser() {

   return SecureSocial.currentUser(env).map( new F.Function<Object, Result>() { 


@Override



public Result apply(Object maybeUser) throws Throwable {



String id;




if ( maybeUser != null ) {




DemoUser user = (DemoUser) maybeUser;




id = user.main.userId();




} else {




id = "not available. Please log in.";




}




return ok("your id is " + id);

}


});

}

}

我的路线

主页

GET/@controllers.Application.index

GET/userAware@controllers.Application.userAware

GET/only-twitter @controllers.Application.onlyTwitter

GET/link-result @controllers.Application.linkResult

GET/当前用户@controllers.Application.currentUser

GET/assets/*filecontrollers.Assets.at(path="/public", file)

->/auth securesocial.Routes

我的错误

[info] 将当前项目设置为 playMongoDemooo (在构建文件中:/C:/Users/kayjee%20

lahong/demo2/)

[信息]正在更新{file:/C:/Users/kayjee%20lahong/demo2/}playMongoDemooo...

[info] 解析 org.hibernate.javax.persistence#hibernate-jpa-2.0-api;1.0.1.Fin

[信息]更新完成。

---(从 SBT 运行应用程序,启用自动重新加载)---

[info] play - 在/0:0:0:0:0:0:0:0:9000 上监听 HTTP

(服务器启动,使用Ctrl+D停止并返回控制台...)

[info] 将 6 个 Scala 源代码和 6 个 Java 源代码编译到 C:\Users\kayjee lahong\de

mo2\target\scala-2.10\classes...

[错误] C:\Users\kayjee lahong\demo2\conf\routes:10: 无法使用方法 returni

ng play.libs.F.Promise[play.mvc.Result] 作为处理程序

[错误] GET/当前用户@controllers.Application.currentUser

[错误] C:\Users\kayjee lahong\demo2\conf\routes:10: 无法使用方法 returni

ng play.libs.F.Promise[play.mvc.Result] 作为处理程序

[错误] GET/当前用户@controllers.Application.currentUser

[错误]发现两个错误

[错误](编译:编译)编译失败

[错误]应用程序 -

谢谢

最佳答案

为了兼容 Play 2.4,请使用 3.0-M4 或更高版本。您尝试使用的版本不适用于 2.4。

关于java - play2.1.0 上有 secuesocial 3.0-M1?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32102895/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com