Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
gjl2004yn
jumpserver
提交
0b406b69
J
jumpserver
项目概览
gjl2004yn
/
jumpserver
与 Fork 源项目一致
从无法访问的项目Fork
通知
2
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
J
jumpserver
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
0b406b69
编写于
9月 03, 2016
作者:
baltery
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Add captch login using
上级
6f0cfd23
变更
11
隐藏空白更改
内联
并排
Showing
11 changed file
with
49 addition
and
15 deletion
+49
-15
apps/jumpserver/settings.py
apps/jumpserver/settings.py
+4
-0
apps/jumpserver/urls.py
apps/jumpserver/urls.py
+1
-9
apps/templates/captcha/field.html
apps/templates/captcha/field.html
+12
-0
apps/templates/captcha/hidden_field.html
apps/templates/captcha/hidden_field.html
+1
-0
apps/templates/captcha/image.html
apps/templates/captcha/image.html
+4
-0
apps/templates/captcha/text_field.html
apps/templates/captcha/text_field.html
+7
-0
apps/users/forms.py
apps/users/forms.py
+1
-1
apps/users/templates/users/forget_password.html
apps/users/templates/users/forget_password.html
+2
-2
apps/users/templates/users/login.html
apps/users/templates/users/login.html
+14
-2
apps/users/urls.py
apps/users/urls.py
+0
-1
apps/users/views.py
apps/users/views.py
+3
-0
未找到文件。
apps/jumpserver/settings.py
浏览文件 @
0b406b69
...
...
@@ -303,3 +303,7 @@ BROKER_URL = 'redis://%(password)s%(host)s:%(port)s/3' % {
}
CELERY_RESULT_BACKEND
=
BROKER_URL
# Captcha settings, more see https://django-simple-captcha.readthedocs.io/en/latest/advanced.html
CAPTCHA_IMAGE_SIZE
=
(
75
,
33
)
CAPTCHA_FOREGROUND_COLOR
=
'#001100'
apps/jumpserver/urls.py
浏览文件 @
0b406b69
...
...
@@ -20,22 +20,14 @@ from django.views.generic.base import TemplateView
from
django.http
import
HttpResponseRedirect
# def view(request, **kwargs):
# if kwargs:
# print kwargs
# return HttpResponseRedirect('/' + kwargs["module"] + '/' + kwargs["version"] + '/' + kwargs["api"])
urlpatterns
=
[
url
(
r
'^captcha/'
,
include
(
'captcha.urls'
)),
url
(
r
'^$'
,
TemplateView
.
as_view
(
template_name
=
'base.html'
),
name
=
'index'
),
url
(
r
'^(api/)?users/'
,
include
(
'users.urls'
)),
url
(
r
'^assets/'
,
include
(
'assets.urls'
)),
url
(
r
'^terminal/'
,
include
(
'webterminal.urls'
)),
]
#urlpatterns += [
# url(r'^api/users/', include('users.api_urls')),
#]
if
settings
.
DEBUG
:
urlpatterns
+=
static
(
settings
.
MEDIA_URL
,
document_root
=
settings
.
MEDIA_ROOT
)
...
...
apps/templates/captcha/field.html
0 → 100644
浏览文件 @
0b406b69
{{image}}{{hidden_field}}{{text_field}}
<script>
function
refresh_captcha
()
{
$
.
getJSON
(
"
{% url
"
captcha
-
refresh
"
%}
"
,
function
(
result
)
{
$
(
'
.captcha
'
).
attr
(
'
src
'
,
result
[
'
image_url
'
]);
$
(
'
#id_captcha_0
'
).
val
(
result
[
'
key
'
])
})
}
$
(
'
.captcha
'
).
click
(
refresh_captcha
)
</script>
\ No newline at end of file
apps/templates/captcha/hidden_field.html
0 → 100644
浏览文件 @
0b406b69
<input
id=
"{{id}}_0"
name=
"{{name}}_0"
type=
"hidden"
value=
"{{key}}"
/>
apps/templates/captcha/image.html
0 → 100644
浏览文件 @
0b406b69
{% load i18n %}
{% spaceless %}
{% if audio %}
<a
title=
"{% trans "
Play
CAPTCHA
as
audio
file
"
%}"
href=
"{{audio}}"
>
{% endif %}
<img
src=
"{{image}}"
alt=
"captcha"
class=
"captcha"
/>
{% if audio %}
</a>
{% endif %}
{% endspaceless %}
\ No newline at end of file
apps/templates/captcha/text_field.html
0 → 100644
浏览文件 @
0b406b69
<div
class=
"row"
>
<div
class=
"col-sm-6"
>
<input
autocomplete=
"off"
id=
"{{id}}_1"
class=
"form-control"
name=
"{{name}}_1"
type=
"text"
/>
<span
class=
"red-fonts"
id=
"captcha-error"
style=
"display: none"
>
验证码错误
</span>
</div>
</div>
</br>
apps/users/forms.py
浏览文件 @
0b406b69
...
...
@@ -10,7 +10,7 @@ from .models import User, UserGroup
class
UserLoginForm
(
forms
.
Form
):
username
=
forms
.
CharField
(
label
=
'用户名'
,
max_length
=
100
)
password
=
forms
.
CharField
(
label
=
'密码'
,
widget
=
forms
.
PasswordInput
,
max_length
=
100
)
#
captcha = CaptchaField()
captcha
=
CaptchaField
()
class
UserAddForm
(
ModelForm
):
...
...
apps/users/templates/users/forget_password.html
浏览文件 @
0b406b69
...
...
@@ -6,8 +6,8 @@
<meta
charset=
"utf-8"
>
<meta
name=
"viewport"
content=
"width=device-width, initial-scale=1.0"
>
<title>
INSPINIA | Forgot password
</title>
<link
rel=
"shortcut icon"
href=
"{% static "
img
/
facio.ico
"
%}"
type=
"image/x-icon"
>
<title>
忘记密码
</title>
{% include '_head_css_js.html' %}
<link
href=
"{% static "
css
/
jumpserver.css
"
%}"
rel=
"stylesheet"
>
...
...
apps/users/templates/users/login.html
浏览文件 @
0b406b69
...
...
@@ -10,6 +10,14 @@
{% include '_head_css_js.html' %}
<link
href=
"{% static "
css
/
jumpserver.css
"
%}"
rel=
"stylesheet"
>
<script
src=
"{% static "
js
/
jumpserver.js
"
%}"
></script>
<style>
.captcha
{
float
:
right
;
}
#id_captcha_1
{
}
</style>
</head>
<body
class=
"gray-bg"
>
...
...
@@ -43,7 +51,9 @@
<form
class=
"m-t"
role=
"form"
method=
"post"
action=
"{% url 'users:login' %}"
>
{% csrf_token %}
{% if form.errors %}
<p
class=
"red-fonts"
>
{{ form.errors }}
</p>
{% if 'captcha' in form.errors %}
<p
class=
"red-fonts"
>
验证码错误
</p>
{% endif %}
{% endif %}
{% if errors %}
<p
class=
"red-fonts"
>
{{ errors }}
</p>
...
...
@@ -54,6 +64,9 @@
<div
class=
"form-group"
>
<input
type=
"password"
class=
"form-control"
name=
"{{ form.password.html_name }}"
placeholder=
"Password"
required=
""
>
</div>
<div>
{{ form.captcha }}
</div>
<button
type=
"submit"
class=
"btn btn-primary block full-width m-b"
>
Login
</button>
<a
href=
"{% url 'users:forget-password' %}"
>
...
...
@@ -78,7 +91,6 @@
</div>
</div>
</div>
</body>
</html>
...
...
apps/users/urls.py
浏览文件 @
0b406b69
...
...
@@ -10,7 +10,6 @@ app_name = 'users'
urlpatterns
=
[
url
(
r
'^login$'
,
views
.
UserLoginView
.
as_view
(),
name
=
'login'
),
url
(
r
'^logout$'
,
views
.
UserLogoutView
.
as_view
(),
name
=
'logout'
),
url
(
r
'^captcha/'
,
include
(
'captcha.urls'
)),
url
(
r
'^password/forget$'
,
views
.
UserForgetPasswordView
.
as_view
(),
name
=
'forget-password'
),
url
(
r
'^password/forget/sendmail-success$'
,
views
.
UserForgetPasswordSendmailSuccessView
.
as_view
(),
name
=
'forget-password-sendmail-success'
),
...
...
apps/users/views.py
浏览文件 @
0b406b69
...
...
@@ -42,6 +42,9 @@ class UserLoginView(FormView):
def
post
(
self
,
request
,
*
args
,
**
kwargs
):
form
=
self
.
get_form
()
if
not
form
.
is_valid
():
return
self
.
form_invalid
(
form
)
username
=
form
[
'username'
].
value
()
password
=
form
[
'password'
].
value
()
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录