2015-07-27 2 views
0

Я прочитал это questionКак настроить отображения SecureSocial 3.0?

У меня такая же реализация. Не только это не работает, но и в отладке я даже не ввожу этот код!

object MyRuntimeEnvironment extends RuntimeEnvironment.Default[BasicUser] { 
    override val userService: UserService[BasicUser] = new SlickUserService 
    override lazy val authenticatorService: AuthenticatorService[BasicUser] = new AuthenticatorService[BasicUser](
     new CookieAuthenticatorBuilder[BasicUser](new SlickAuthenticatorStore, idGenerator), 
     new HttpHeaderAuthenticatorBuilder[BasicUser](new SlickAuthenticatorStore, idGenerator) 
    ) 
    override lazy val viewTemplates: ViewTemplates = new CustomTemplatesController(this) 

} 

и

class CustomTemplatesController(env: RuntimeEnvironment[_]) extends ViewTemplates { 
    implicit val implicitEnv = env 

    override def getLoginPage(form: Form[(String, String)], 
          msg: Option[String] = None)(implicit request: RequestHeader, lang: Lang): Html = { 
    //securesocial.views.html.login(form, msg)(request, lang, env) 
    views.html.custom_login(form, msg)(request, lang, env) 
    } 

    override def getSignUpPage(form: Form[RegistrationInfo], token: String)(implicit request: RequestHeader, lang: Lang): Html = { 
    securesocial.views.html.Registration.signUp(form, token)(request, lang, env) 
    } 
} 

Я предполагаю, что мой единственный выбор слева, чтобы скопировать контроллеры вставки из secureSocial кода GitHub и изменить шаблоны под названием ...

любая идея?

+1

Вы уверены, что используете пользовательскую среду для своих контроллеров? – Jorge

+0

Возможно, прямо на месте, но с вопроса я сделал несколько пользовательских facebook OAUTH2 логин. : D Надеюсь, это поможет кому-то другому. – user2346536

ответ

1

Вам необходимо указать платформу воспроизведения, чтобы загрузить конфигурацию вашей среды. Обычно это делается путем создания модуля (при условии, MyRuntimeEnvironment определен в пакете под названием Service):

package modules; 

import com.google.inject.AbstractModule; 
import securesocial.core.RuntimeEnvironment; 
import service.MyRuntimeEnvironment; 

public class EnvironmentModule extends AbstractModule{ 

    @Override 
    protected void configure() { 
     MyRuntimeEnvironment environment = new MyRuntimeEnvironment(); 
     bind(RuntimeEnvironment.class).toInstance(environment); 
    } 


} 

в вашем application.conf:

play.modules.enabled += "modules.EnvironmentModule" 

Это должно используется при загрузке настроенной конфигурации среды и загрузке вашего пользовательские шаблоны.

Смежные вопросы