Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in
Toggle navigation
J
jumpserver
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
ops
jumpserver
Commits
cd3f787a
Commit
cd3f787a
authored
Oct 01, 2014
by
guanghongwei
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
更改chgKey函数
parent
86a9c466
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
55 additions
and
58 deletions
+55
-58
views.py
webroot/AutoSa/AutoSa/views.py
+43
-40
chgKey.html
webroot/AutoSa/templates/chgKey.html
+9
-1
chgUser.html
webroot/AutoSa/templates/chgUser.html
+3
-17
No files found.
webroot/AutoSa/AutoSa/views.py
View file @
cd3f787a
...
@@ -474,7 +474,7 @@ def chgUser(request):
...
@@ -474,7 +474,7 @@ def chgUser(request):
user
=
User
.
objects
.
get
(
username
=
username
)
user
=
User
.
objects
.
get
(
username
=
username
)
ori_is_admin
=
"checked"
if
user
.
is_admin
else
''
ori_is_admin
=
"checked"
if
user
.
is_admin
else
''
ori_is_superuser
=
'checked'
if
user
.
is_superuser
else
''
ori_is_superuser
=
'checked'
if
user
.
is_superuser
else
''
all_groups
=
user
.
group
.
all
()
all_groups
=
Group
.
objects
.
all
()
return
render_to_response
(
'chgUser.html'
,
return
render_to_response
(
'chgUser.html'
,
{
'user'
:
user
,
'user_menu'
:
'active'
,
'is_admin'
:
ori_is_admin
,
{
'user'
:
user
,
'user_menu'
:
'active'
,
'is_admin'
:
ori_is_admin
,
...
@@ -482,10 +482,6 @@ def chgUser(request):
...
@@ -482,10 +482,6 @@ def chgUser(request):
context_instance
=
RequestContext
(
request
))
context_instance
=
RequestContext
(
request
))
else
:
else
:
username
=
request
.
POST
.
get
(
'username'
)
username
=
request
.
POST
.
get
(
'username'
)
password
=
request
.
POST
.
get
(
'password'
)
password_again
=
request
.
POST
.
get
(
'password_again'
)
key_pass
=
request
.
POST
.
get
(
'key_pass'
)
key_pass_again
=
request
.
POST
.
get
(
'key_pass_again'
)
name
=
request
.
POST
.
get
(
'name'
)
name
=
request
.
POST
.
get
(
'name'
)
is_admin
=
request
.
POST
.
get
(
'is_admin'
)
is_admin
=
request
.
POST
.
get
(
'is_admin'
)
is_superuser
=
request
.
POST
.
get
(
'is_superuser'
)
is_superuser
=
request
.
POST
.
get
(
'is_superuser'
)
...
@@ -494,10 +490,11 @@ def chgUser(request):
...
@@ -494,10 +490,11 @@ def chgUser(request):
user
=
User
.
objects
.
get
(
username
=
username
)
user
=
User
.
objects
.
get
(
username
=
username
)
all_groups
=
Group
.
objects
.
all
()
all_groups
=
Group
.
objects
.
all
()
keyfile
=
'
%
s/keys/
%
s'
%
(
base_dir
,
username
)
# 获得原来的,然设为初始值
ori_is_admin
=
"checked"
if
user
.
is_admin
else
''
ori_is_admin
=
"checked"
if
user
.
is_admin
else
''
ori_is_superuser
=
'checked'
if
user
.
is_superuser
else
''
ori_is_superuser
=
'checked'
if
user
.
is_superuser
else
''
# 属组的获取
for
group_name
in
group_post
:
for
group_name
in
group_post
:
groups
.
append
(
Group
.
objects
.
get
(
name
=
group_name
))
groups
.
append
(
Group
.
objects
.
get
(
name
=
group_name
))
...
@@ -509,30 +506,16 @@ def chgUser(request):
...
@@ -509,30 +506,16 @@ def chgUser(request):
is_admin
=
True
if
is_admin
else
False
is_admin
=
True
if
is_admin
else
False
is_superuser
=
True
if
is_superuser
else
False
is_superuser
=
True
if
is_superuser
else
False
if
password
!=
password_again
or
key_pass
!=
key_pass_again
:
if
''
in
[
username
,
name
,
group_post
]:
error
=
u'密码不匹配'
if
''
in
[
username
,
password
,
key_pass
,
name
,
group_post
]:
error
=
u'带*内容不能为空'
error
=
u'带*内容不能为空'
if
len
(
password
)
<
6
or
len
(
key_pass
)
<
6
:
error
=
u'密码长度需>6'
u
=
User
.
objects
.
get
(
username
=
username
)
chg_keypass
=
bash
(
'ssh-keygen -p -P
%
s -N
%
s -f
%
s'
%
(
jm
.
decrypt
(
u
.
key_pass
),
key_pass
,
keyfile
))
if
chg_keypass
!=
0
:
error
=
u'修改密钥密码失败'
if
error
:
if
error
:
return
render_to_response
(
'chgUser.html'
,
return
render_to_response
(
'chgUser.html'
,
{
'user'
:
user
,
'user_menu'
:
'active'
,
'is_admin'
:
ori_is_admin
,
{
'user'
:
user
,
'user_menu'
:
'active'
,
'is_admin'
:
ori_is_admin
,
'is_superuser'
:
ori_is_superuser
,
'groups'
:
all_groups
,
'error'
:
error
},
'is_superuser'
:
ori_is_superuser
,
'groups'
:
all_groups
,
'error'
:
error
},
context_instance
=
RequestContext
(
request
))
context_instance
=
RequestContext
(
request
))
u
.
password
=
md5_crypt
(
password
)
u
=
User
.
objects
.
get
(
username
=
username
)
u
.
key_pass
=
jm
.
encrypt
(
key_pass
)
u
.
name
=
name
u
.
name
=
name
u
.
is_admin
=
is_admin
u
.
is_admin
=
is_admin
u
.
is_superuser
=
is_superuser
u
.
is_superuser
=
is_superuser
...
@@ -700,26 +683,46 @@ def chgKey(request):
...
@@ -700,26 +683,46 @@ def chgKey(request):
"""修改密钥密码"""
"""修改密钥密码"""
error
=
''
error
=
''
msg
=
''
msg
=
''
username
=
request
.
session
.
get
(
'username'
)
is_self
=
False
oldpass
=
request
.
POST
.
get
(
'oldpass'
)
password
=
request
.
POST
.
get
(
'password'
)
password_confirm
=
request
.
POST
.
get
(
'password_confirm'
)
keyfile
=
'
%
s/keys/
%
s'
%
(
base_dir
,
username
)
if
request
.
method
==
'
POS
T'
:
if
request
.
method
==
'
GE
T'
:
if
''
in
[
oldpass
,
password
,
password_confirm
]:
username
=
request
.
GET
.
get
(
'username'
)
error
=
'带*内容不能为空'
if
not
username
:
elif
password
!=
password_confirm
:
username
=
request
.
session
.
get
(
'username'
)
error
=
'两次密码不匹配'
is_self
=
True
if
not
error
:
return
render_to_response
(
'chgKey.html'
,
ret
=
subprocess
.
call
(
'ssh-keygen -p -P
%
s -N
%
s -f
%
s'
%
(
oldpass
,
password
,
keyfile
),
shell
=
True
)
{
'username'
:
username
,
'is_self'
:
is_self
},
if
not
ret
:
context_instance
=
RequestContext
(
request
))
else
:
try
:
oldpass
=
request
.
POST
.
get
(
'oldpass'
)
except
KeyError
:
pass
else
:
username
=
request
.
POST
.
get
(
'username'
)
user
=
User
.
objects
.
get
(
username
=
username
)
if
oldpass
!=
user
.
key_pass
:
error
=
'原来密码不正确'
error
=
'原来密码不正确'
else
:
msg
=
'修改密码成功'
return
render_to_response
(
'chgKey.html'
,
username
=
request
.
POST
.
get
(
'username'
)
{
'error'
:
error
,
'msg'
:
msg
},
user
=
request
.
objects
.
get
(
username
=
username
)
context_instance
=
RequestContext
(
request
))
password
=
request
.
POST
.
get
(
'password'
)
password_again
=
request
.
POST
.
get
(
'password_again'
)
if
password
!=
password_again
:
error
=
'密码不匹配'
if
error
:
return
HttpResponse
(
error
)
keyfile
=
'
%
s/keys/
%
s'
%
(
base_dir
,
username
)
ret
=
bash
(
'ssh-keygen -p -P
%
s -N
%
s -f
%
s'
%
(
user
.
key_pass
,
password
,
keyfile
))
if
ret
!=
0
:
error
=
'更改私钥密码错误'
return
HttpResponse
(
error
)
user
[
'keypass'
]
=
password
user
.
save
()
return
HttpResponse
(
'修改密码成功'
)
webroot/AutoSa/templates/chgKey.html
View file @
cd3f787a
...
@@ -13,12 +13,20 @@
...
@@ -13,12 +13,20 @@
{{ msg }}
{{ msg }}
</div>
</div>
{% endif %}
{% endif %}
<div
class=
"form-group"
>
<label
for=
"username"
class=
"col-sm-2 control-label"
>
用户名
<span
style=
"color: red"
>
*
</span></label>
<div
class=
"col-sm-4"
>
<input
type=
"text"
class=
"form-control"
id=
"username"
name=
"username"
placeholder=
"用户名"
readonly=
"readOnly"
>
</div>
</div>
{% if is_self %}
<div
class=
"form-group"
>
<div
class=
"form-group"
>
<label
for=
"oldpass"
class=
"col-sm-2 control-label"
>
原来的密码
<span
style=
"color: red"
>
*
</span></label>
<label
for=
"oldpass"
class=
"col-sm-2 control-label"
>
原来的密码
<span
style=
"color: red"
>
*
</span></label>
<div
class=
"col-sm-4"
>
<div
class=
"col-sm-4"
>
<input
type=
"password"
class=
"form-control"
id=
"oldpass"
name=
"oldpass"
placeholder=
"
用户名
"
>
<input
type=
"password"
class=
"form-control"
id=
"oldpass"
name=
"oldpass"
placeholder=
"
原来密码
"
>
</div>
</div>
</div>
</div>
{% endif %}
<div
class=
"form-group"
>
<div
class=
"form-group"
>
<label
for=
"password"
class=
"col-sm-2 control-label"
>
新密码
<span
style=
"color: red"
>
*
</span></label>
<label
for=
"password"
class=
"col-sm-2 control-label"
>
新密码
<span
style=
"color: red"
>
*
</span></label>
<div
class=
"col-sm-4"
>
<div
class=
"col-sm-4"
>
...
...
webroot/AutoSa/templates/chgUser.html
View file @
cd3f787a
...
@@ -29,26 +29,12 @@
...
@@ -29,26 +29,12 @@
<div
class=
"form-group"
>
<div
class=
"form-group"
>
<label
for=
"password"
class=
"col-sm-2 control-label"
>
密码
<span
style=
"color: red"
>
*
</span></label>
<label
for=
"password"
class=
"col-sm-2 control-label"
>
密码
<span
style=
"color: red"
>
*
</span></label>
<div
class=
"col-sm-4"
>
<div
class=
"col-sm-4"
>
<input
type=
"password"
id=
"password"
name=
"password"
class=
"form-control"
value=
"{{ user.password }}"
>
<a
href=
"/chgPass/?username={{ user.username }}"
>
修改密码
</a>
</div>
</div>
<div
class=
"form-group"
>
<label
for=
"password_again"
class=
"col-sm-2 control-label"
>
确认密码
<span
style=
"color: red"
>
*
</span></label>
<div
class=
"col-sm-4"
>
<input
type=
"password"
id=
"password_again"
name=
"password_again"
class=
"form-control"
value=
"{{ user.password }}"
>
</div>
</div>
</div>
</div>
<div
class=
"form-group"
>
<div
class=
"form-group"
>
<label
for=
"key_pass"
class=
"col-sm-2 control-label"
>
密钥密码
<span
style=
"color: red"
>
*
</span></label>
<label
for=
"key_pass"
class=
"col-sm-2 control-label"
>
密钥密码
<span
style=
"color: red"
>
*
</span></label>
<div
class=
"col-sm-4"
>
<a
href=
"/chgKey/?username={{ user.username }}"
>
修改密钥密码
</a>
<input
type=
"password"
id=
"key_pass"
name=
"key_pass"
class=
"form-control"
value=
"{{ user.key_pass }}"
>
</div>
</div>
<div
class=
"form-group"
>
<label
for=
"key_pass_again"
class=
"col-sm-2 control-label"
>
确认密码
<span
style=
"color: red"
>
*
</span></label>
<div
class=
"col-sm-4"
>
<input
type=
"password"
id=
"key_pass_again"
name=
"key_pass_again"
class=
"form-control"
value=
"{{ user.key_pass }}"
>
</div>
</div>
</div>
<div
class=
"form-group"
>
<div
class=
"form-group"
>
<label
for=
"name"
class=
"col-sm-2 control-label"
>
姓名
<span
style=
"color: red"
>
*
</span></label>
<label
for=
"name"
class=
"col-sm-2 control-label"
>
姓名
<span
style=
"color: red"
>
*
</span></label>
...
@@ -80,7 +66,7 @@
...
@@ -80,7 +66,7 @@
</div>
</div>
<div
class=
"form-group"
>
<div
class=
"form-group"
>
<div
class=
"col-sm-offset-2 col-sm-4"
>
<div
class=
"col-sm-offset-2 col-sm-4"
>
<button
class=
"btn btn-primary"
>
添加
</button>
<button
class=
"btn btn-primary"
>
修改
</button>
</div>
</div>
</div>
</div>
</fieldset>
</fieldset>
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment