Я использую 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
[ошибка] две ошибки найдены
[ошибка] (компиляции: компилировать) Компиляция не удалось
[Ошибка] Приложение -
спасибо
Какая ошибка? – smk