上次安装jumpserver最新版本,出现两个问题记录一下:
第一个问题,数据库结构不一样
新版本的数据库结构和老版本的不一样,启动新版本的jumpserver服务时,老版本的数据库被冲掉了。修复方法:可以把两个版本都改成旧版本的,也可以把数据库备份一份,使用新的启动之后再把数据导入进去。
第二个问题,ldap创建用户jumpserver认证不了
我们使用的是ldap作为用户的统一管理,但是,使用新版本的jumpserver时,在ldap上创建的用户,jumpserver不认证通过,以下是解决方法:
vim jumpserver/apps/authentication/utils.py # -*- coding: utf-8 -*- # from django.utils.translation import ugettext as _ from django.contrib.auth import authenticate from common.utils import ( get_ip_city, get_object_or_none, validate_ip ) from users.models import User from . import errors def check_user_valid(**kwargs): password = kwargs.pop('password', None) public_key = kwargs.pop('public_key', None) email = kwargs.pop('email', None) username = kwargs.pop('username', None) request = kwargs.get('request') if username: user = get_object_or_none(User, username=username) elif email: user = get_object_or_none(User, email=email) else: user = None if user is None: return None, errors.reason_user_not_exist elif user.is_expired: return None, errors.reason_user_inactive elif not user.is_active: return None, errors.reason_user_inactive elif user.password_has_expired: return None, errors.reason_password_expired if password or public_key: user = authenticate(request, username=username, password=password, public_key=public_key) if user: return user, '' return None, errors.reason_password_failed
这是最新版本的用户认证信息,我们需要修改一下,看下面修改的。
vim jumpserver/apps/authentication/utils.py # -*- coding: utf-8 -*- # from django.contrib.auth import authenticate from . import errors def check_user_valid(**kwargs): password = kwargs.pop('password', None) public_key = kwargs.pop('public_key', None) username = kwargs.pop('username', None) request = kwargs.get('request') user = authenticate(request, username=username, password=password, public_key=public_key) if not user: return None, errors.reason_password_failed elif user.is_expired: return None, errors.reason_user_inactive elif not user.is_active: return None, errors.reason_user_inactive elif user.password_has_expired: return None, errors.reason_password_expired return user, ''
修改后重启服务,解决问题。
2020年6月4日 16:29 板凳
我评论咋看不见了啊,能不能加个qq好友啊
2020年6月8日 09:27 1层
@你好 怕有垃圾评论,所以需要回复才可以,你发到我邮箱,我去加你
2020年6月4日 15:59 沙发
我是1.5.0的jumpserver,想直接迁移到1.5.9上(比较官方的回复是说不行,但是我之前1.5.0迁到过1.5.6上好用),数据库导入没啥问题,就是登录的时候一致登不上,到MySQL里把LDAP关掉也一直报错,Authenticate user: None。看你第二个问题里修改apps/authentication/utils.py 这里面改了吗?怎么跟默认的一样啊?
2020年6月8日 09:27 1层
@你好 我的建议是你把1.5.9安装之后,在把数据导入进去。Authenticate user: None错误是没有用户,你先不使用ldap