Scala 在secure social中更改登录表单
我正在使用secure social编写一个play 2.3应用程序。 我已自定义我的登录表单: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
@(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