mirror of
https://github.com/discourse/discourse.git
synced 2024-11-23 15:54:23 +08:00
e97ef7e9af
This commit adds the ability for site administrators to mark users' passwords as expired. Note that this commit does not add any client side interface to mark a user's password as expired. The following changes are introduced in this commit: 1. Adds a `user_passwords` table and `UserPassword` model. While the `user_passwords` table is currently used to only store expired passwords, it will be used in the future to store a user's current password as well. 2. Adds a `UserPasswordExpirer.expire_user_password` method which can be used from the Rails console to mark a user's password as expired. 3. Updates `SessionsController#create` to check that the user's current password has not been marked as expired after confirming the password. If the password is determined to be expired based on the existence of a `UserPassword` record with the `password_expired_at` column set, we will not log the user in and will display a password expired notice. A forgot password email is automatically send out to the user as well. |
||
---|---|---|
.. | ||
allowed_ip_address_validator_spec.rb | ||
at_least_one_group_validator_spec.rb | ||
category_search_priority_weights_validator_spec.rb | ||
censored_words_validator_spec.rb | ||
css_color_validator_spec.rb | ||
delete_rejected_email_after_days_spec.rb | ||
email_address_validator_spec.rb | ||
email_setting_validator_spec.rb | ||
email_validator_spec.rb | ||
enable_local_logins_via_email_validator_spec.rb | ||
enable_sso_validator_spec.rb | ||
external_system_avatars_validator_spec.rb | ||
form_template_yaml_validator_spec.rb | ||
group_setting_validator_spec.rb | ||
host_list_setting_validator_spec.rb | ||
integer_setting_validator_spec.rb | ||
ip_address_format_validator_spec.rb | ||
linkedin_oidc_credentials_validator_spec.rb | ||
max_emojis_validator_spec.rb | ||
max_username_length_validator_spec.rb | ||
min_username_length_validator_spec.rb | ||
password_validator_spec.rb | ||
post_validator_spec.rb | ||
quality_title_validator_spec.rb | ||
regex_presence_validator_spec.rb | ||
regex_setting_validator_spec.rb | ||
regexp_list_validator_spec.rb | ||
reply_by_email_address_validator_spec.rb | ||
reply_by_email_enabled_validator_spec.rb | ||
search_ranking_weights_validator_spec.rb | ||
search_tokenize_chinese_validator_spec.rb | ||
search_tokenize_japanese_validator_spec.rb | ||
selectable_avatars_mode_validator_spec.rb | ||
sso_overrides_email_validator_spec.rb | ||
string_setting_validator_spec.rb | ||
timezone_validator_spec.rb | ||
topic_title_length_validator_spec.rb | ||
unicode_username_allowlist_validator_spec.rb | ||
unicode_username_validator_spec.rb | ||
upload_validator_spec.rb | ||
url_validator_spec.rb | ||
user_full_name_validator_spec.rb | ||
username_setting_validator_spec.rb |