DEVISE config.password_regex

Cześć

Podpowiedzcie, gdzie szukać przyczyn, że Devise kompletnie olewa wpis:

/config/initializers/devise.rb

config.password_regex = /(?=.*\d)(?=.*[a-z])(?=.*[A-Z])/

inne wpisy np:

config.password_length = 8..128

weryfikuje, a ten w którym chcę określić konieczność stosowania małych, wielkich liter i liczb, olewa i przepuszcza przy zmianie hasła (i przy rejestrowaniu nowego użytkownika) wpisy nawet typu ‘aaaaaaaa’

?

/Rails 4.2.3/

Skąd wziąłeś tę opcję password_regex? Źródła devise nie zawierają odwołania do niej. Działający sposób na walidację hasła znajdziesz tu: http://excid3.com/blog/rails-tip-adding-password-complexity-validations-to-devise/

Biję się w pierś! :frowning:

Zapomniałem dodać, że poza gem ‘Devise’ dodałem gem 'devise_security_extension’


Czytałem już podobne artykuły i wiem, że mogę to zrobić na poziomie Modelu, ale uparłem się trochę, by zrobić zgodnie z wpisami w Devise.rb, które zostały dodane po akcji:

rails generate devise_security_extension:install

==> Security Extension

Configure security extension for devise

Should the password expire (e.g 3.months)

config.expire_password_after = 1.months

Need 1 char of A-Z, a-z and 0-9

config.password_regex = /(?=.\d)(?=.[a-z])(?=.*[A-Z])/

Znalazłem odpowiedź.

…Opcja validacji hasła wymaga dodania:

gem 'rails_email_validator'

…idiotyczne, bo mogli to albo nazwać ‘rails_email_and_password_validator’ albo wyodrębnić do ‘rails_password_validator’

Tak na marginesie…
Jak dodać funkcjonalność, by użytkownikowi pojawiał się komunikat “musisz zminić hasło” np 5 dni przed terminem utraty ważności?