修改新建用户流程
This commit is contained in:
parent
67d0c7e2f3
commit
536bdf77d4
18
user/User.py
18
user/User.py
|
@ -10,7 +10,7 @@ class User:
|
|||
name str 用户名
|
||||
pwd str 密码
|
||||
role str 角色
|
||||
group str 群组
|
||||
duty str 职责
|
||||
"""
|
||||
|
||||
def __init__(self):
|
||||
|
@ -19,7 +19,7 @@ class User:
|
|||
self.name = None
|
||||
self.pwd = None
|
||||
self.role = None
|
||||
self.group = None
|
||||
self.duty = None
|
||||
|
||||
|
||||
class UserManage(User):
|
||||
|
@ -27,11 +27,14 @@ class UserManage(User):
|
|||
用户管理
|
||||
"""
|
||||
|
||||
# 创建用户
|
||||
def create_user(self):
|
||||
res = create_user_process(self.email, self.name, self.pwd, self.role, self.group)
|
||||
if res is not False:
|
||||
pass
|
||||
"""
|
||||
创建用户
|
||||
Returns:
|
||||
创建成功 bool 返回True
|
||||
创建失败 str 返回异常信息
|
||||
"""
|
||||
return create_user_process(self.email, self.name, self.pwd, self.role, self.duty)
|
||||
|
||||
# 禁用用户
|
||||
def disable_user(self):
|
||||
|
@ -62,5 +65,4 @@ if __name__ == '__main__':
|
|||
um.name = "王思川"
|
||||
um.pwd = "pVhsypYQ+Lf81gMHKkkU+xrEhB96jNjbH8PZ6smK8NGnWBuJwHEtr5XPZ+A4dPMsYVZldeyjfR7AVCG3deAWT0JR2aAHqG6pD2IMwA0VqMcXBI2c1uesGRoYNW3815CrAqdRwKlZunpqYkxnWnatfU4zuosuv/7TyY+JhOIS6rV50yiE/Nw/k/aXPtX/ShJI/oybmgzMU+GfODy7k3XnTn9I9vLfFYQrg/m8ybZIL7TGtX+HSUJLZ5ttmFq+cnykBVf2iK7Q3lV6f65tmVmIiU+e2xrBc4nMHyYxZksGJNWeVZ2F45QPrif14BML7X9g/QDqze7Jm3ZHg6fs/wV/ISrvw/C1fPFbSCRfjuLcusLY5fcFG3X0r7kST6vIzbr4ZYH3TZZ0p29+dgEEt+fj+d17URrd92xPzuLz2UIRi/pncNSvZb31PDHMY6pEfjigXOx6o4XTtbLqNIRuo8n+LX8XyJvMPc2EUQEMsRKet6KFpVJTnXGhJkI37lHh4Kc4qv0HIdLVjWd05dlo0R2Ggsm1Fb2vGL35l5YumjkFJjQDV5TV0IhzLWW56A56dluHaMDsOQXqFNVCdnpYmzNtm8pEVYfzxnKJwpq5a0xqaLcf7SO/VmLpFKXj+9ZSEEWK5RAzbSVSoQCIWISLYPDqNRnsXFS1CDwe3xv1+86H3nY="
|
||||
um.role = "admin"
|
||||
um.group = ["admin"]
|
||||
um.create_user()
|
||||
print(um.create_user())
|
||||
|
|
105
user/process.py
105
user/process.py
|
@ -1,35 +1,100 @@
|
|||
import time
|
||||
import random
|
||||
|
||||
from werkzeug.security import generate_password_hash
|
||||
|
||||
from common.db import insert_data
|
||||
from user.scripts import check_mail_fmt, check_pwd_fmt, gen_new_uid
|
||||
from user.security.rsa import decrypt_data
|
||||
from common.db import insert_data, find_data
|
||||
from user.scripts import check_mail_fmt, check_pwd_fmt
|
||||
from common.security.rsa import decrypt_data
|
||||
|
||||
|
||||
def create_user_process(email, name, pwd, role, group):
|
||||
def create_user_process(email, name, pwd, role, duty):
|
||||
"""
|
||||
创建新用户流程
|
||||
Parameters:
|
||||
-
|
||||
email str 邮箱
|
||||
name str 姓名
|
||||
pwd str 密码
|
||||
role str 角色
|
||||
duty str 职责
|
||||
Returns:
|
||||
执行成功 True
|
||||
执行失败 False
|
||||
执行成功 bool True
|
||||
执行失败 str 异常信息
|
||||
"""
|
||||
def check_params():
|
||||
"""
|
||||
参数检查
|
||||
"""
|
||||
roles = ['admin', 'member', 'guest']
|
||||
if role not in roles:
|
||||
return "用户角色异常"
|
||||
|
||||
if not check_mail_fmt(email):
|
||||
return False
|
||||
duties = ['developers', 'analysts', None]
|
||||
if duty not in duties:
|
||||
return "成员职责异常"
|
||||
|
||||
if not check_pwd_fmt(pwd):
|
||||
return False
|
||||
if not check_mail_fmt(email):
|
||||
return "邮箱格式错误"
|
||||
|
||||
user = dict()
|
||||
user['UID'] = gen_new_uid()
|
||||
user['email'] = email
|
||||
user['name'] = name
|
||||
user['pwd'] = generate_password_hash(decrypt_data(encrypt_msg=pwd))
|
||||
user['role'] = role
|
||||
user['group'] = group
|
||||
user['create_time'] = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())
|
||||
if not check_pwd_fmt(pwd):
|
||||
return "密码格式错误"
|
||||
|
||||
insert_data("tfse_admin", "用户", "用户信息", user)
|
||||
if len(find_data("tfse_admin", "用户", "用户信息", {"email": email})) > 0:
|
||||
return "邮箱已被注册"
|
||||
|
||||
return True
|
||||
|
||||
def gen_new_uid():
|
||||
"""
|
||||
生成新的用户ID,如果该ID存在,则重新生成
|
||||
Returns:
|
||||
生成的用户ID
|
||||
"""
|
||||
|
||||
def make_id(num):
|
||||
"""
|
||||
随机生成字符串
|
||||
"""
|
||||
choices = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789'
|
||||
salt = ''
|
||||
for i in range(num):
|
||||
salt += random.choice(choices)
|
||||
return salt
|
||||
|
||||
def gen_id():
|
||||
"""
|
||||
生成新ID,
|
||||
检查新ID是否存在,如果存在则继续生成新ID
|
||||
若新ID可使用,返回新ID
|
||||
"""
|
||||
new_id = make_id(8)
|
||||
case = find_data("tfse_admin", "用户", "用户信息", {"企业ID": new_id}) is []
|
||||
while case:
|
||||
new_id = make_id(8)
|
||||
return new_id
|
||||
|
||||
return gen_id()
|
||||
|
||||
def process_main():
|
||||
"""
|
||||
执行流程
|
||||
"""
|
||||
check_param_result = check_params()
|
||||
if check_param_result is not True:
|
||||
return check_param_result
|
||||
|
||||
user = dict()
|
||||
user['UID'] = gen_new_uid()
|
||||
user['email'] = email
|
||||
user['name'] = name
|
||||
user['pwd'] = generate_password_hash(decrypt_data(encrypt_msg=pwd))
|
||||
user['status'] = 'normal'
|
||||
user['role'] = role
|
||||
user['duty'] = duty
|
||||
user['create_time'] = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())
|
||||
|
||||
insert_data("tfse_admin", "用户", "用户信息", user)
|
||||
|
||||
return True
|
||||
|
||||
return process_main()
|
||||
|
|
|
@ -1,19 +1,18 @@
|
|||
import random
|
||||
import re
|
||||
|
||||
from common.db import find_data
|
||||
from user.security.rsa import decrypt_data
|
||||
from common.security.rsa import decrypt_data
|
||||
|
||||
|
||||
def check_mail_fmt(email):
|
||||
"""
|
||||
邮箱地址格式校验
|
||||
邮箱地址格式校验,仅允许@fecr.com.cn
|
||||
Parameters:
|
||||
email: 邮箱
|
||||
Returns:
|
||||
result: 邮箱校验结果,正确返回True,不正确返回False
|
||||
"""
|
||||
regex = "^.+\\@(\\[?)[a-zA-Z0-9\\-\\.]+\\.([a-zA-Z]{2,3}|[0-9]{1,3})(\\]?)$"
|
||||
# regex = "^.+\\@(\\[?)[a-zA-Z0-9\\-\\.]+\\.([a-zA-Z]{2,3}|[0-9]{1,3})(\\]?)$"
|
||||
regex = "^.+\\@fecr.com.cn"
|
||||
case = (len(email) > 7) and (re.match(regex, email) is not None)
|
||||
result = True if case else False
|
||||
return result
|
||||
|
@ -35,29 +34,3 @@ def check_pwd_fmt(pwd):
|
|||
case = (len(password) >= 8) and (re.match(regex, password) is not None)
|
||||
result = True if case else False
|
||||
return result
|
||||
|
||||
|
||||
def gen_new_uid():
|
||||
"""
|
||||
生成新的用户ID,如果该ID存在,则重新生成
|
||||
Returns:
|
||||
new_id: 生成的用户ID
|
||||
"""
|
||||
def make_id(num):
|
||||
"""
|
||||
随机生成字符串
|
||||
"""
|
||||
choices = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789'
|
||||
salt = ''
|
||||
for i in range(num):
|
||||
salt += random.choice(choices)
|
||||
return salt
|
||||
|
||||
# 生成新ID
|
||||
new_id = make_id(8)
|
||||
# 检查新ID是否存在,如果存在则继续生成新ID
|
||||
case = find_data("tfse_admin", "用户", "用户信息", {"企业ID": new_id}) is []
|
||||
while case:
|
||||
new_id = make_id(8)
|
||||
# 新ID可使用,返回新ID
|
||||
return new_id
|
||||
|
|
|
@ -1,10 +0,0 @@
|
|||
{
|
||||
"UID": null,
|
||||
"email": null,
|
||||
"pwd": null,
|
||||
"name": null,
|
||||
"status": null,
|
||||
"role": null,
|
||||
"group": null,
|
||||
"create_time": null
|
||||
}
|
Loading…
Reference in New Issue