diff options
-rw-r--r-- | acf/model/aaa.lua | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/acf/model/aaa.lua b/acf/model/aaa.lua index 8dea542..282a246 100644 --- a/acf/model/aaa.lua +++ b/acf/model/aaa.lua @@ -24,7 +24,7 @@ local Password = object.class(M.String) function Password:_validate(context, value) value = object.super(self, M.String):_validate(context, value) - if value:find(hash_pattern) then return value end + if not value or value:find(hash_pattern) then return value end local salt = '' for i = 1,12 do @@ -44,6 +44,7 @@ User.superuser = M.Boolean{default=false} User.roles = M.Set{type=M.Reference{scope='../../../roles'}} function User:check_password(password) + if not self.password then return false end local _, _, algorithm, salt = self.password:find(hash_pattern) if not salt then return false end return hash_password(algorithm, salt, password) == self.password |