mirror of https://github.com/jumpserver/jumpserver
update
parent
8e9f22537f
commit
f8c8c3deff
|
@ -492,7 +492,7 @@ def require_role(role='user'):
|
||||||
def _deco(func):
|
def _deco(func):
|
||||||
def __deco(request, *args, **kwargs):
|
def __deco(request, *args, **kwargs):
|
||||||
if role == 'user':
|
if role == 'user':
|
||||||
if not request.session.get('user_id'):
|
if not request.user.is_authenticated():
|
||||||
return HttpResponseRedirect('/login/')
|
return HttpResponseRedirect('/login/')
|
||||||
elif role == 'admin':
|
elif role == 'admin':
|
||||||
if request.session.get('role_id', 0) < 1:
|
if request.session.get('role_id', 0) < 1:
|
||||||
|
@ -522,13 +522,14 @@ def get_session_user_dept(request):
|
||||||
get department of the user in session
|
get department of the user in session
|
||||||
获取session中用户的部门
|
获取session中用户的部门
|
||||||
"""
|
"""
|
||||||
user_id = request.session.get('user_id', 0)
|
# user_id = request.session.get('user_id', 0)
|
||||||
print '#' * 20
|
# print '#' * 20
|
||||||
print user_id
|
# print user_id
|
||||||
user = User.objects.filter(id=user_id)
|
# user = User.objects.filter(id=user_id)
|
||||||
if user:
|
# if user:
|
||||||
user = user[0]
|
# user = user[0]
|
||||||
return user, None
|
# return user, None
|
||||||
|
return request.user, None
|
||||||
|
|
||||||
|
|
||||||
@require_role
|
@require_role
|
||||||
|
@ -537,18 +538,18 @@ def get_session_user_info(request):
|
||||||
get the user info of the user in session, for example id, username etc.
|
get the user info of the user in session, for example id, username etc.
|
||||||
获取用户的信息
|
获取用户的信息
|
||||||
"""
|
"""
|
||||||
user_id = request.session.get('user_id', 0)
|
# user_id = request.session.get('user_id', 0)
|
||||||
user = get_object(User, id=user_id)
|
# user = get_object(User, id=user_id)
|
||||||
if user:
|
# if user:
|
||||||
return [user.id, user.username, user]
|
# return [user.id, user.username, user]
|
||||||
|
return [request.user.id, request.user.username, request.user]
|
||||||
|
|
||||||
def get_user_dept(request):
|
def get_user_dept(request):
|
||||||
"""
|
"""
|
||||||
get the user dept id
|
get the user dept id
|
||||||
获取用户的部门id
|
获取用户的部门id
|
||||||
"""
|
"""
|
||||||
user_id = request.session.get('user_id')
|
user_id = request.user.id
|
||||||
if user_id:
|
if user_id:
|
||||||
user_dept = User.objects.get(id=user_id).dept
|
user_dept = User.objects.get(id=user_id).dept
|
||||||
return user_dept.id
|
return user_dept.id
|
||||||
|
|
|
@ -12,7 +12,7 @@ from django.http import HttpResponse
|
||||||
# from jperm.models import Apply
|
# from jperm.models import Apply
|
||||||
import paramiko
|
import paramiko
|
||||||
from jumpserver.api import *
|
from jumpserver.api import *
|
||||||
|
from django.contrib.auth import authenticate,logout,login
|
||||||
|
|
||||||
|
|
||||||
def getDaysByNum(num):
|
def getDaysByNum(num):
|
||||||
|
@ -49,7 +49,7 @@ def get_data(data, items, option):
|
||||||
|
|
||||||
@require_role(role='user')
|
@require_role(role='user')
|
||||||
def index_cu(request):
|
def index_cu(request):
|
||||||
user_id = request.session.get('user_id')
|
user_id = request.user.id
|
||||||
user = get_object(User, id=user_id)
|
user = get_object(User, id=user_id)
|
||||||
login_types = {'L': 'LDAP', 'M': 'MAP'}
|
login_types = {'L': 'LDAP', 'M': 'MAP'}
|
||||||
username = user.username
|
username = user.username
|
||||||
|
@ -193,40 +193,49 @@ def is_latest():
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
|
||||||
def login(request):
|
def Login(request):
|
||||||
"""登录界面"""
|
"""登录界面"""
|
||||||
if request.session.get('username'):
|
if not request.user.is_authenticated():
|
||||||
return HttpResponseRedirect('/')
|
return HttpResponseRedirect('/')
|
||||||
if request.method == 'GET':
|
if request.method == 'GET':
|
||||||
return render_to_response('login.html')
|
return render_to_response('login.html')
|
||||||
else:
|
else:
|
||||||
username = request.POST.get('username')
|
username = request.POST.get('username')
|
||||||
password = request.POST.get('password')
|
password = request.POST.get('password')
|
||||||
user_filter = User.objects.filter(username=username)
|
if username and password:
|
||||||
if user_filter:
|
user = authenticate(username=username, password=password)
|
||||||
user = user_filter[0]
|
if user is not None:
|
||||||
if PyCrypt.md5_crypt(password) == user.password:
|
if user.is_active:
|
||||||
request.session['user_id'] = user.id
|
login(request, user)
|
||||||
user_filter.update(last_login=datetime.datetime.now())
|
# c = {}
|
||||||
|
# c.update(csrf(request))
|
||||||
|
# request.session['csrf_token'] = str(c.get('csrf_token'))
|
||||||
|
# user_filter = User.objects.filter(username=username)
|
||||||
|
# if user_filter:
|
||||||
|
# user = user_filter[0]
|
||||||
|
# if PyCrypt.md5_crypt(password) == user.password:
|
||||||
|
# request.session['user_id'] = user.id
|
||||||
|
# user_filter.update(last_login=datetime.datetime.now())
|
||||||
if user.role == 'SU':
|
if user.role == 'SU':
|
||||||
request.session['role_id'] = 2
|
request.session['role_id'] = 2
|
||||||
elif user.role == 'GA':
|
elif user.role == 'GA':
|
||||||
request.session['role_id'] = 1
|
request.session['role_id'] = 1
|
||||||
else:
|
else:
|
||||||
request.session['role_id'] = 0
|
request.session['role_id'] = 0
|
||||||
response = HttpResponseRedirect('/', )
|
return HttpResponseRedirect('/', )
|
||||||
response.set_cookie('username', username, expires=604800)
|
# response.set_cookie('username', username, expires=604800)
|
||||||
response.set_cookie('seed', PyCrypt.md5_crypt(password), expires=604800)
|
# response.set_cookie('seed', PyCrypt.md5_crypt(password), expires=604800)
|
||||||
return response
|
# return response
|
||||||
|
# else:
|
||||||
|
# error = '密码错误,请重新输入。'
|
||||||
else:
|
else:
|
||||||
error = '密码错误,请重新输入。'
|
error = '用户名或密码错误'
|
||||||
else:
|
|
||||||
error = '用户不存在。'
|
|
||||||
return render_to_response('login.html', {'error': error})
|
return render_to_response('login.html', {'error': error})
|
||||||
|
|
||||||
|
|
||||||
def logout(request):
|
def Logout(request):
|
||||||
request.session.delete()
|
request.session.delete()
|
||||||
|
logout(request)
|
||||||
return HttpResponseRedirect('/login/')
|
return HttpResponseRedirect('/login/')
|
||||||
|
|
||||||
#
|
#
|
||||||
|
|
|
@ -394,7 +394,7 @@ def user_list(request):
|
||||||
def user_detail(request):
|
def user_detail(request):
|
||||||
header_title, path1, path2 = '用户详情', '用户管理', '用户详情'
|
header_title, path1, path2 = '用户详情', '用户管理', '用户详情'
|
||||||
if request.session.get('role_id') == 0:
|
if request.session.get('role_id') == 0:
|
||||||
user_id = request.session.get('user_id')
|
user_id = request.user.id
|
||||||
else:
|
else:
|
||||||
user_id = request.GET.get('id', '')
|
user_id = request.GET.get('id', '')
|
||||||
# if request.session.get('role_id') == 1:
|
# if request.session.get('role_id') == 1:
|
||||||
|
@ -617,7 +617,10 @@ def user_edit_adm(request):
|
||||||
|
|
||||||
|
|
||||||
def profile(request):
|
def profile(request):
|
||||||
user_id = request.session.get('user_id')
|
a = request.user.id
|
||||||
|
a = request.user.groups
|
||||||
|
|
||||||
|
user_id = request.user.id
|
||||||
if not user_id:
|
if not user_id:
|
||||||
return HttpResponseRedirect('/')
|
return HttpResponseRedirect('/')
|
||||||
user = User.objects.get(id=user_id)
|
user = User.objects.get(id=user_id)
|
||||||
|
@ -626,7 +629,7 @@ def profile(request):
|
||||||
|
|
||||||
def change_info(request):
|
def change_info(request):
|
||||||
header_title, path1, path2 = '修改信息', '用户管理', '修改个人信息'
|
header_title, path1, path2 = '修改信息', '用户管理', '修改个人信息'
|
||||||
user_id = request.session.get('user_id')
|
user_id = request.user.id
|
||||||
user = get_object(User, id=user_id)
|
user = get_object(User, id=user_id)
|
||||||
error = ''
|
error = ''
|
||||||
if not user:
|
if not user:
|
||||||
|
@ -673,7 +676,7 @@ def down_key(request):
|
||||||
user_id = request.GET.get('id')
|
user_id = request.GET.get('id')
|
||||||
|
|
||||||
if is_role_request(request, 'user'):
|
if is_role_request(request, 'user'):
|
||||||
user_id = request.session.get('user_id')
|
user_id = request.user.id
|
||||||
|
|
||||||
if user_id:
|
if user_id:
|
||||||
user = get_object(User, id=user_id)
|
user = get_object(User, id=user_id)
|
||||||
|
|
Loading…
Reference in New Issue