mirror of
https://github.com/jumpserver/jumpserver.git
synced 2025-04-28 11:25:42 +00:00
修改用户信息
This commit is contained in:
parent
a263e50b3e
commit
4d58d9ef0e
@ -173,6 +173,7 @@ def user_assets(username):
|
|||||||
assets.append(asset.aid)
|
assets.append(asset.aid)
|
||||||
return assets
|
return assets
|
||||||
|
|
||||||
|
|
||||||
def login_required(func):
|
def login_required(func):
|
||||||
"""要求登录的装饰器"""
|
"""要求登录的装饰器"""
|
||||||
def _deco(request, *args, **kwargs):
|
def _deco(request, *args, **kwargs):
|
||||||
@ -476,52 +477,62 @@ def chgUser(request):
|
|||||||
context_instance=RequestContext(request))
|
context_instance=RequestContext(request))
|
||||||
else:
|
else:
|
||||||
form = UserAddForm(request.POST)
|
form = UserAddForm(request.POST)
|
||||||
if form.is_valid():
|
user = form.cleaned_data
|
||||||
user = form.cleaned_data
|
username = request.POST.get('username')
|
||||||
username = user['username']
|
password = user['password']
|
||||||
password = md5_crypt(user['password'])
|
password_again = user['password_again']
|
||||||
key_pass = md5_crypt(user['key_pass'])
|
key_pass = user['key_pass']
|
||||||
name = user['name']
|
key_pass_again = user['key_pass_again']
|
||||||
is_admin = user['is_admin']
|
name = user['name']
|
||||||
is_superuser = user['is_superuser']
|
is_admin = user['is_admin']
|
||||||
ldap_password = jm.encrypt(keygen(16))
|
is_superuser = user['is_superuser']
|
||||||
group_post = user['group']
|
ldap_password = jm.encrypt(keygen(16))
|
||||||
groups = []
|
group_post = user['group']
|
||||||
|
groups = []
|
||||||
|
|
||||||
keyfile = '%s/keys/%s' % (base_dir, username)
|
keyfile = '%s/keys/%s' % (base_dir, username)
|
||||||
|
|
||||||
# 如果用户是admin,那么不能委任其他admin或者超级用户
|
# 如果用户是admin,那么不能委任其他admin或者超级用户
|
||||||
if is_admin_user(request):
|
if is_admin_user(request):
|
||||||
is_admin = False
|
is_admin = False
|
||||||
is_superuser = False
|
is_superuser = False
|
||||||
|
|
||||||
# 组
|
if password != password_again or key_pass != key_pass_again:
|
||||||
for group_name in group_post:
|
error = '密码不匹配'
|
||||||
groups.append(Group.objects.get(name=group_name))
|
|
||||||
|
|
||||||
u = User.objects.get(username=username)
|
if '' in [username, password, key_pass, name, group_post]:
|
||||||
|
error = '带*内容不能为空'
|
||||||
|
|
||||||
chg_keypass = bash('ssh-keygen -p -P %s -N %s -f %s' % (jm.decrypt(u.password), password, keyfile))
|
# 组
|
||||||
if chg_keypass != 0:
|
for group_name in group_post:
|
||||||
error = '修改密钥密码失败'
|
groups.append(Group.objects.get(name=group_name))
|
||||||
return render_to_response('chgUser.html',
|
|
||||||
{'user': user, 'user_menu': 'active', 'form': form, 'error': error},
|
|
||||||
context_instance=RequestContext(request))
|
|
||||||
|
|
||||||
u.password = password
|
u = User.objects.get(username=username)
|
||||||
u.key_pass = key_pass
|
|
||||||
u.name = name
|
|
||||||
u.is_admin = is_admin
|
|
||||||
u.is_superuser = is_superuser
|
|
||||||
u.ldap_password = ldap_password
|
|
||||||
u.group = groups
|
|
||||||
|
|
||||||
u.save()
|
chg_keypass = bash('ssh-keygen -p -P %s -N %s -f %s' % (jm.decrypt(u.password), password, keyfile))
|
||||||
msg = '修改用户信息成功'
|
|
||||||
|
if chg_keypass != 0:
|
||||||
|
error = '修改密钥密码失败'
|
||||||
|
|
||||||
|
if error:
|
||||||
return render_to_response('chgUser.html',
|
return render_to_response('chgUser.html',
|
||||||
{'user': user, 'user_menu': 'active', 'form': form, 'msg': msg},
|
{'user': user, 'user_menu': 'active', 'form': form, 'error': error},
|
||||||
context_instance=RequestContext(request))
|
context_instance=RequestContext(request))
|
||||||
|
|
||||||
|
u.password = password
|
||||||
|
u.key_pass = key_pass
|
||||||
|
u.name = name
|
||||||
|
u.is_admin = is_admin
|
||||||
|
u.is_superuser = is_superuser
|
||||||
|
u.ldap_password = ldap_password
|
||||||
|
u.group = groups
|
||||||
|
|
||||||
|
u.save()
|
||||||
|
msg = '修改用户信息成功'
|
||||||
|
return render_to_response('chgUser.html',
|
||||||
|
{'user': user, 'user_menu': 'active', 'form': form, 'msg': msg},
|
||||||
|
context_instance=RequestContext(request))
|
||||||
|
|
||||||
|
|
||||||
@admin_required
|
@admin_required
|
||||||
def showAssets(request):
|
def showAssets(request):
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
{% extends 'base.html' %}
|
{% extends 'base.html' %}
|
||||||
{% block content %}
|
{% block content %}
|
||||||
<form class="form-horizontal" role="form" method="post" action="" >
|
<form class="form-horizontal" role="form" method="post" action="/chgUser/" >
|
||||||
<fieldset >
|
<fieldset >
|
||||||
<legend>修改用户信息</legend>
|
<legend>修改用户信息</legend>
|
||||||
{% if error %}
|
{% if error %}
|
||||||
@ -21,10 +21,9 @@
|
|||||||
</div>
|
</div>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
{{ form.username.errors }}
|
|
||||||
<label for="id_username" class="col-sm-2 control-label">用户名<span style="color: red"> *</span></label>
|
<label for="id_username" class="col-sm-2 control-label">用户名<span style="color: red"> *</span></label>
|
||||||
<div class="col-sm-4">
|
<div class="col-sm-4">
|
||||||
<input type="text" id="id_username" name="id_username" class="form-control" value="{{ user.username }}" disabled="disabled" >
|
<input type="text" id="id_username" name="username" class="form-control" value="{{ user.username }}" disabled="disabled" >
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
@ -65,7 +64,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
{{ form.group.errors }}
|
{{ form.group.errors }}
|
||||||
<label for="id_group" class="col-sm-2 control-label">属组</label>
|
<label for="id_group" class="col-sm-2 control-label">属组<span style="color: red"> *</span></label>
|
||||||
<div class="col-sm-4">
|
<div class="col-sm-4">
|
||||||
{{ form.group }}
|
{{ form.group }}
|
||||||
</div>
|
</div>
|
||||||
|
Loading…
Reference in New Issue
Block a user