Review comments
This commit is contained in:
@@ -38,17 +38,6 @@
|
|||||||
${password-info class="help-block"}
|
${password-info class="help-block"}
|
||||||
</div>
|
</div>
|
||||||
</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>}
|
${<if-demo>}
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<div class="col-lg-offset-3 col-lg-3" for="${id:demo}">
|
<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:
|
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()
|
void loadData()
|
||||||
{
|
{
|
||||||
@@ -166,33 +199,7 @@ class UserModel : public Wt::WFormModel
|
|||||||
}
|
}
|
||||||
else if (field == PasswordField)
|
else if (field == PasswordField)
|
||||||
{
|
{
|
||||||
if (Wt::asNumber(value(ExternalAuthField)))
|
error = validatePassword();
|
||||||
{
|
|
||||||
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");
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
else if (field == DemoField)
|
else if (field == DemoField)
|
||||||
{
|
{
|
||||||
@@ -201,11 +208,6 @@ class UserModel : public Wt::WFormModel
|
|||||||
if (Wt::asNumber(value(DemoField)) && Database::User::getDemo(LmsApp->getDbSession()))
|
if (Wt::asNumber(value(DemoField)) && Database::User::getDemo(LmsApp->getDbSession()))
|
||||||
error = Wt::WString::tr("Lms.Admin.User.demo-account-already-exists");
|
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())
|
if (error.empty())
|
||||||
return Wt::WFormModel::validateField(field);
|
return Wt::WFormModel::validateField(field);
|
||||||
|
|||||||
Reference in New Issue
Block a user