Scala 在secure social中更改登录表单

Scala 在secure social中更改登录表单,scala,authentication,playframework,securesocial,Scala,Authentication,Playframework,Securesocial,我正在使用secure social编写一个play 2.3应用程序。 我已自定义我的登录表单: @(loginForm: Form[(String,String)], errorMsg: Option[String] = None)(implicit request: RequestHeader, lang: Lang, env:securesocial.core.RuntimeEnvironment[_]) @import securesocial.core.providers.Userna

我正在使用secure social编写一个play 2.3应用程序。 我已自定义我的登录表单:

@(loginForm: Form[(String,String)], errorMsg: Option[String] = None)(implicit request: RequestHeader, lang: Lang, env:securesocial.core.RuntimeEnvironment[_])
@import securesocial.core.providers.UsernamePasswordProvider.UsernamePassword

@main(Messages("securesocial.login.title"))(null) {
    <div class="login">
        <div class="page-header">
            <h1>@Messages("securesocial.login.title")</h1>
        </div>

     @errorMsg.map { msg =>
            <div class="alert alert-danger">
                @Messages(msg)
            </div>
        }

     @request.flash.get("success").map { msg =>
            <div class="alert alert-info">
                @msg
            </div>
        }

    @request.flash.get("error").map { msg =>
        <div class="alert alert-danger">
            @msg
        </div>
    }

    @defining( env.providers.values.filter( _.id != UsernamePassword) ) { externalProviders =>

        @env.providers.get(UsernamePassword).map { up =>
            <div class="clearfix">
                @if( externalProviders.size > 0 ) {
                    <p>@Messages("securesocial.login.useEmailAndPassword")</p>
                } else {
                    <p>@Messages("securesocial.login.useEmailAndPasswordOnly")</p>
                }

                @securesocial.views.html.provider("userpass", Some(loginForm))
            </div>
        }
    }

    </div>
}
但是当视图显示时,我看到您忘记了密码吗?如果你在我们这里还没有账户,你可以在这里注册。 但我不想要它,在我的应用程序中,用户从管理员那里获得凭据,他不能注册和更改密码。我该怎么做

此外,我不想导入所有安全社交路由,只想导入登录操作所需的路由。

如果查看在自定义登录页面中导入的securesocial.views.html.provider模板,您将看到其中定义了密码恢复信息:

<div class="clearfix">
  <p><a href="@env.routes.resetPasswordUrl">@Messages("securesocial.login.forgotPassword") </a></p>
</div>
和供应商入口点:

GET     /authenticate/:provider     securesocial.controllers.ProviderController.authenticate(provider)
POST    /authenticate/:provider     securesocial.controllers.ProviderController.authenticateByPost(provider)
GET     /not-authorized             securesocial.controllers.ProviderController.notAuthorized

如果您希望允许用户在登录后更改密码,则应该考虑使用内置操作:

GET     /password                   securesocial.controllers.PasswordChange.page
POST    /password                   securesocial.controllers.PasswordChange.handlePasswordChange
GET     /password                   securesocial.controllers.PasswordChange.page
POST    /password                   securesocial.controllers.PasswordChange.handlePasswordChange