Review comments
This commit is contained in:
@@ -38,17 +38,6 @@
|
||||
${password-info class="help-block"}
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="control-label col-lg-3" for="${id:external_auth}">
|
||||
${tr:Lms.external_auth}
|
||||
</label>
|
||||
<div class="checkbox col-lg-9">
|
||||
<span class="hack">
|
||||
${external-auth}
|
||||
${external-auth-info class="help-block"}
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
${<if-demo>}
|
||||
<div class="form-group">
|
||||
<div class="col-lg-offset-3 col-lg-3" for="${id:demo}">
|
||||
|
||||
@@ -0,0 +1,9 @@
|
||||
account required pam_unix.so try_first_pass
|
||||
account sufficient pam_localuser.so
|
||||
|
||||
auth required pam_unix.so try_first_pass
|
||||
|
||||
password required pam_deny.so
|
||||
|
||||
session required pam_unix.so try_first_pass
|
||||
|
||||
@@ -111,6 +111,39 @@ class UserModel : public Wt::WFormModel
|
||||
}
|
||||
|
||||
private:
|
||||
|
||||
Wt::WString validatePassword() const
|
||||
{
|
||||
Wt::WString error;
|
||||
|
||||
if (Wt::asNumber(value(ExternalAuthField)))
|
||||
{
|
||||
if (!valueText(PasswordField).empty())
|
||||
{
|
||||
error = Wt::WString::tr("Lms.password_must_be_empty_for_ext");
|
||||
}
|
||||
}
|
||||
else if (!valueText(PasswordField).empty())
|
||||
{
|
||||
if (Wt::asNumber(value(DemoField)))
|
||||
{
|
||||
// Demo account: password must be the same as the login name
|
||||
if (valueText(PasswordField) != getLoginName())
|
||||
error = Wt::WString::tr("Lms.Admin.User.demo-password-invalid");
|
||||
}
|
||||
else
|
||||
{
|
||||
// Evaluate the strength of the password for non demo accounts
|
||||
if (!ServiceProvider<::Auth::IPasswordService>::get()->evaluatePasswordStrength(getLoginName(), valueText(PasswordField).toUTF8()))
|
||||
error = Wt::WString::tr("Lms.password-too-weak");
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
error = Wt::WString::tr("Lms.password-must-not-be-empty");
|
||||
}
|
||||
return error;
|
||||
}
|
||||
|
||||
void loadData()
|
||||
{
|
||||
@@ -166,33 +199,7 @@ class UserModel : public Wt::WFormModel
|
||||
}
|
||||
else if (field == PasswordField)
|
||||
{
|
||||
if (Wt::asNumber(value(ExternalAuthField)))
|
||||
{
|
||||
if (!valueText(PasswordField).empty())
|
||||
{
|
||||
error = Wt::WString::tr("Lms.password_must_be_empty_for_ext");
|
||||
}
|
||||
}
|
||||
else if (!valueText(PasswordField).empty())
|
||||
{
|
||||
if (Wt::asNumber(value(DemoField)))
|
||||
{
|
||||
// Demo account: password must be the same as the login name
|
||||
if (valueText(PasswordField) != getLoginName())
|
||||
error = Wt::WString::tr("Lms.Admin.User.demo-password-invalid");
|
||||
}
|
||||
else
|
||||
{
|
||||
// Evaluate the strength of the password for non demo accounts
|
||||
if (!ServiceProvider<::Auth::IPasswordService>::get()->evaluatePasswordStrength(getLoginName(), valueText(PasswordField).toUTF8()))
|
||||
error = Wt::WString::tr("Lms.password-too-weak");
|
||||
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
error = Wt::WString::tr("Lms.password-must-not-be-empty");
|
||||
}
|
||||
error = validatePassword();
|
||||
}
|
||||
else if (field == DemoField)
|
||||
{
|
||||
@@ -201,11 +208,6 @@ class UserModel : public Wt::WFormModel
|
||||
if (Wt::asNumber(value(DemoField)) && Database::User::getDemo(LmsApp->getDbSession()))
|
||||
error = Wt::WString::tr("Lms.Admin.User.demo-account-already-exists");
|
||||
}
|
||||
// else if (field == ExternalAuthField)
|
||||
// {
|
||||
// if (!valueText(PasswordField).empty())
|
||||
// error = Wt::WString::tr("Lms.password_must_be_empty_for_ext");
|
||||
// }
|
||||
|
||||
if (error.empty())
|
||||
return Wt::WFormModel::validateField(field);
|
||||
|
||||
Reference in New Issue
Block a user