2015-08-19 12 views
1

Я использую play 2.1.0 некоторое время, и у меня возникли проблемы с поиском способа получить securesocial для работы. Я пробовал разные версии, даже скачал последний активатор typesafe, чтобы попытаться использовать его с play2.4, но не повезло.secuesocial 3.0-M1 на play2.1.0?

Кто-нибудь знает, могу ли я использовать securesocial 3.0-M1 с игрой 2.1.0?

мои контроллеры \ Application.java

контроллеры пакетов;

импорт 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; ж

импорта service.DemoUser;

импорт views.html.index;

import views.html.linkResult;

общественного класса Применение расширяет контроллер {

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 (разрешение = WithProvider.class, PARAMS = { "щебет"})

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 




} 

общественных Р .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/только-твиттер @ controllers.Application.onlyTwitter

GET/канальном результат @ controllers.Application.linkResult

GET/текущего пользователя @ controllers.Application.currentUser

GET/активы/* файл controllers.Assets.at (путь = "/ общественность", файл)

->/Auth securesocial.Routes

моя ошибка

[Информация] Установите текущий проект playMongoDemooo (в файле сборки:/C:/Users/kayjee% 20

lahong/demo2 /)

[Информация] Обновление {файл:/C:/Users/kayjee% 20lahong/demo2 /} playMongoDemooo ...

[Информация] Разрешающая org.hibernate.javax.persistence # гибернации-JPA-2,0-апи, 1.0.1.Fin

[ info] Выполнено обновление.

--- (Запуск приложения от SBT, авто-обновление включена) ---

[Информация] играть - Прослушивание HTTP на/0: 0: 0: 0: 0: 0: 0 : 0: 9000

(сервер начал использовать Ctrl + D, чтобы остановить и вернуться в консоль ...)

[Информация] Компиляция 6 источников Scala и 6 источников Java в C: \ Users \ kayjee lahong \ de

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

[Ошибка] C: \ Users \ kayjee lahong \ demo2 \ \ Conf маршруты: 10: Не можете использовать метод получать отдачу

нг play.libs.F.Promise [play.mvc.Result] в качестве обработчика

[ошибка] GET/текущий пользователь @ controllers.Application.currentUser

[ошибка] C: \ Users \ kayjee lahong \ demo2 \ конф \ маршруты: 10: Невозможно использовать метод

получать отдачу

нг игры .libs.F.Promise [play.mvc.Result] как обработчик

[ошибка] GET/текущий пользователь @ controllers.Application.currentUser

[ошибка] две ошибки найдены

[ошибка] (компиляции: компилировать) Компиляция не удалось

[Ошибка] Приложение -

спасибо

+0

Какая ошибка? – smk

ответ

1

Для совместимости с Play 2.4 совместимость 3.0-M4 или новее. Версия, которую вы пытались использовать, не работает с 2.4.