Commit b7ce6f99 authored by Jérome Perrin's avatar Jérome Perrin

base: cleanup IEncryptedPassword interface and mixin

reorder methods, make some docstrings a bit more informative and fix
several typos
parent a4ffa1a7
...@@ -39,12 +39,27 @@ class IEncryptedPassword(Interface): ...@@ -39,12 +39,27 @@ class IEncryptedPassword(Interface):
def checkPassword(value): def checkPassword(value):
""" """
Check the password, usefull when changing password Check the password `value` match the current password, usefull when changing password.
""" """
def checkPasswordValueAcceptable(value): def checkPasswordValueAcceptable(value):
""" """
Check if the password value is acceptable - i.e. follows site rules. Check if the password `value` is acceptable in regard to password policy.
"""
def checkUserCanChangePassword():
"""
Check if the current logged in user have permission to change password, on this
IEncryptedPassword.
Raise Products.CMFCore.exceptions.AccessControl_Unauthorized in case they don't
have the permission.
"""
def setPassword(value) :
"""
Set the password, only if the password is not empty and if
checkUserCanChangePassword don't raise any error
""" """
def setEncodedPassword(value, format='default'): # pylint: disable=redefined-builtin def setEncodedPassword(value, format='default'): # pylint: disable=redefined-builtin
...@@ -61,17 +76,6 @@ class IEncryptedPassword(Interface): ...@@ -61,17 +76,6 @@ class IEncryptedPassword(Interface):
begins with _set* begins with _set*
""" """
def checkUserCanChangePassword():
"""
check user have permission to change his password. Raise in case he cannot.
"""
def setPassword(value) :
"""
Set the password, only if the password is not empty and if
checkUserCanChangePassword don't raise any error
"""
def getPassword(*args, **kw): def getPassword(*args, **kw):
""" """
Retrieve password in desired format. Retrieve password in desired format.
...@@ -83,7 +87,7 @@ class IEncryptedPassword(Interface): ...@@ -83,7 +87,7 @@ class IEncryptedPassword(Interface):
Default: None Default: None
format (string) format (string)
String defining the format in which the password is expected. String defining the format in which the password is expected.
If passowrd is not available in that format, KeyError will be If password is not available in that format, KeyError will be
raised. raised.
Default: 'default' Default: 'default'
""" """
...@@ -68,7 +68,7 @@ class EncryptedPasswordMixin: ...@@ -68,7 +68,7 @@ class EncryptedPasswordMixin:
usage. usage.
""" """
if not self.getPortalObject().portal_preferences.isAuthenticationPolicyEnabled(): if not self.getPortalObject().portal_preferences.isAuthenticationPolicyEnabled():
# not a policy so basically all passwords are accceptable # not policy enabled, so basically all passwords are accceptable
return True return True
if not self.isPasswordValid(value): if not self.isPasswordValid(value):
raise ValueError("Password does not comply with password policy") raise ValueError("Password does not comply with password policy")
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment