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
ef7f42cf
Commit
ef7f42cf
authored
Dec 15, 2015
by
ibuler
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
reset password fix
parent
e817715d
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
93 additions
and
41 deletions
+93
-41
views.py
jumpserver/views.py
+31
-1
views.py
juser/views.py
+2
-2
install.html
templates/install.html
+60
-38
No files found.
jumpserver/views.py
View file @
ef7f42cf
...
...
@@ -361,12 +361,42 @@ def install(request):
def
install_test
(
request
,
offset
):
if
request
.
method
==
'post'
:
if
offset
==
'db'
:
import
MySQLdb
db_host
=
request
.
GET
.
get
(
'db_host'
)
db_port
=
request
.
GET
.
get
(
'db_port'
)
db_port
=
int
(
request
.
GET
.
get
(
'db_port'
)
)
db_user
=
request
.
GET
.
get
(
'db_user'
)
db_pass
=
request
.
GET
.
get
(
'db_pass'
)
db
=
request
.
GET
.
get
(
'db'
)
try
:
conn
=
MySQLdb
.
connect
(
host
=
db_host
,
port
=
db_port
,
user
=
db_user
,
passwd
=
db_pass
,
db
=
db
)
except
Exception
:
return
HttpResponse
(
'链接失败'
,
status
=
500
)
else
:
return
HttpResponse
(
'连接成功'
)
elif
offset
==
'mail'
:
from
smtplib
import
SMTP
smtp_host
=
request
.
GET
.
get
(
'smtp_host'
)
smtp_port
=
request
.
GET
.
get
(
'smtp_port'
)
mail_addr
=
request
.
GET
.
get
(
'mail_addr'
)
mail_pass
=
request
.
GET
.
get
(
'mail_pass'
)
try
:
smtp
=
SMTP
(
smtp_host
,
port
=
smtp_port
)
smtp
.
login
(
mail_addr
,
mail_pass
)
smtp
.
sendmail
(
mail_addr
,
(
mail_addr
),
'''From:
%
s
\r\n
To:
%
s
\r\n
Subject:Jumpserver Mail Test!
\r\n\r\n
Mail test passed!
\r\n
'''
)
smtp
.
quit
()
except
Exception
:
return
HttpResponse
(
'测试失败'
,
status
=
500
)
else
:
return
HttpResponse
(
u'登陆
%
s邮箱查看邮件'
%
mail_addr
)
else
:
print
request
.
method
return
HttpResponse
(
'请求方法错误'
,
status
=
500
)
juser/views.py
View file @
ef7f42cf
...
...
@@ -295,7 +295,7 @@ def forget_password(request):
hash_encode
=
PyCrypt
.
md5_crypt
(
str
(
user
.
uuid
)
+
str
(
timestamp
)
+
KEY
)
msg
=
u"""
Hi
%
s, 请点击下面链接重设密码!
%
s/juser/
reset_password
/?uuid=
%
s×tamp=
%
s&hash=
%
s
%
s/juser/
password/reset
/?uuid=
%
s×tamp=
%
s&hash=
%
s
"""
%
(
user
.
name
,
URL
,
user
.
uuid
,
timestamp
,
hash_encode
)
send_mail
(
'忘记跳板机密码'
,
msg
,
MAIL_FROM
,
[
email
],
fail_silently
=
False
)
msg
=
u'请登陆邮箱,点击邮件重设密码'
...
...
@@ -311,7 +311,7 @@ def reset_password(request):
uuid_r
=
request
.
GET
.
get
(
'uuid'
,
''
)
timestamp
=
request
.
GET
.
get
(
'timestamp'
,
''
)
hash_encode
=
request
.
GET
.
get
(
'hash'
,
''
)
action
=
'/juser/
reset_password
/?uuid=
%
s×tamp=
%
s&hash=
%
s'
%
(
uuid_r
,
timestamp
,
hash_encode
)
action
=
'/juser/
password/reset
/?uuid=
%
s×tamp=
%
s&hash=
%
s'
%
(
uuid_r
,
timestamp
,
hash_encode
)
if
request
.
method
==
'POST'
:
password
=
request
.
POST
.
get
(
'password'
)
...
...
templates/install.html
View file @
ef7f42cf
...
...
@@ -47,40 +47,39 @@
</p>
<form
id=
"form"
action=
"#"
class=
"wizard-big"
>
<h1>
管理员账户
</h1>
<fieldset>
<h2>
管理员账号是首次登陆的账号
</h2>
<div
class=
"row"
>
<div
class=
"col-sm-6"
>
<div
class=
"form-group"
>
<label>
用户名 *
</label>
<input
id=
"username"
name=
"username"
type=
"text"
class=
"form-control required"
minlength=
"5"
>
</div>
<div
class=
"form-group"
>
<label>
密码 *
</label>
<input
id=
"password"
name=
"password"
type=
"password"
class=
"form-control required password"
minlength=
"8"
>
</div>
</div>
<div
class=
"col-sm-6"
>
<div
class=
"form-group"
>
<label>
邮件 *
</label>
<input
id=
"email"
name=
"email"
type=
"email"
class=
"form-control required"
>
</div>
<div
class=
"form-group"
>
<label>
确认密码 *
</label>
<input
id=
"pass_confirm"
name=
"pass_confirm"
type=
"password"
equalto=
"#password"
class=
"form-control required"
>
</div>
</div>
<div
class=
"col-sm-4"
>
<div
class=
"text-center"
>
<div
style=
"margin-top: 20px"
>
<i
class=
"fa fa-sign-in"
style=
"font-size: 180px;color: #e5e5e5 "
></i>
</div>
</div>
</div>
</div>
</fieldset>
{#
<h1>
管理员账户
</h1>
#}
{#
<fieldset>
#}
{#
<h2>
管理员账号是首次登陆的账号
</h2>
#}
{#
<div
class=
"row"
>
#}
{#
<div
class=
"col-sm-6"
>
#}
{#
<div
class=
"form-group"
>
#}
{#
<label>
用户名 *
</label>
#}
{#
<input
id=
"username"
name=
"username"
type=
"text"
class=
"form-control required"
minlength=
"5"
>
#}
{#
</div>
#}
{#
<div
class=
"form-group"
>
#}
{#
<label>
密码 *
</label>
#}
{#
<input
id=
"password"
name=
"password"
type=
"password"
class=
"form-control required password"
minlength=
"8"
>
#}
{#
</div>
#}
{#
</div>
#}
{#
<div
class=
"col-sm-6"
>
#}
{#
<div
class=
"form-group"
>
#}
{#
<label>
邮件 *
</label>
#}
{#
<input
id=
"email"
name=
"email"
type=
"email"
class=
"form-control required"
>
#}
{#
</div>
#}
{#
<div
class=
"form-group"
>
#}
{#
<label>
确认密码 *
</label>
#}
{#
<input
id=
"pass_confirm"
name=
"pass_confirm"
type=
"password"
equalto=
"#password"
class=
"form-control required"
>
#}
{#
</div>
#}
{#
</div>
#}
{#
<div
class=
"col-sm-4"
>
#}
{#
<div
class=
"text-center"
>
#}
{#
<div
style=
"margin-top: 20px"
>
#}
{#
<i
class=
"fa fa-sign-in"
style=
"font-size: 180px;color: #e5e5e5 "
></i>
#}
{#
</div>
#}
{#
</div>
#}
{#
</div>
#}
{#
</div>
#}
{#
</fieldset>
#}
<h1>
数据库
</h1>
<fieldset>
<h2>
数据库连接信息
</h2>
...
...
@@ -110,7 +109,7 @@
</div>
<div
class=
"form-group"
>
<div></div>
<a
href=
"{% url 'user_add
' %}"
class=
"btn btn-sm btn-warning"
style=
"float: right"
>
测试连接
</a>
<a
id=
"db_btn"
value=
"{% url 'install_test' 'db
' %}"
class=
"btn btn-sm btn-warning"
style=
"float: right"
>
测试连接
</a>
</div>
</div>
</div>
...
...
@@ -123,7 +122,7 @@
<div
class=
"col-sm-6"
>
<div
class=
"form-group"
>
<label>
SMTP *
</label>
<input
id=
"smtp
"
name=
"smtp
"
type=
"text"
class=
"form-control required"
>
<input
id=
"smtp
_host"
name=
"smtp_host
"
type=
"text"
class=
"form-control required"
>
</div>
<div
class=
"form-group"
>
<label>
端口 *
</label>
...
...
@@ -137,11 +136,11 @@
</div>
<div
class=
"form-group"
>
<label>
密码 *
</label>
<input
id=
"
dbpass"
name=
"db
pass"
type=
"password"
class=
"form-control"
>
<input
id=
"
mail_pass"
name=
"mail_
pass"
type=
"password"
class=
"form-control"
>
</div>
<div
class=
"form-group"
>
<div></div>
<a
href=
"{% url 'user_add
' %}"
class=
"btn btn-sm btn-warning"
style=
"float: right"
>
测试邮件
</a>
<a
id=
"mail_btn"
href=
"{% url 'install_test' 'mail
' %}"
class=
"btn btn-sm btn-warning"
style=
"float: right"
>
测试邮件
</a>
</div>
</div>
</div>
...
...
@@ -184,6 +183,29 @@
<script>
$
(
document
).
ready
(
function
(){
// $("#wizard").steps();
$
(
'#db_btn'
).
click
(
function
(){
console
.
log
(
'hello'
);
var
db_host
=
$
(
'#db_host'
).
val
();
var
db_port
=
$
(
'#db_port'
).
val
();
var
db_user
=
$
(
'#db_user'
).
val
();
var
db_pass
=
$
(
'#db_pass'
).
val
();
$
.
post
(
$
(
this
).
attr
(
'value'
),
{
'db_host'
:
db_host
,
'db_port'
:
db_port
,
'db_user'
:
db_user
,
'db_pass'
:
db_pass
},
function
(
data
,
status
){
alert
(
data
)
}
);
return
false
;
});
$
(
"#form"
).
steps
({
bodyTag
:
"fieldset"
,
onStepChanging
:
function
(
event
,
currentIndex
,
newIndex
)
...
...
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