mirror of https://github.com/jumpserver/jumpserver
perf: 增加登录日志详情
parent
cb362b2fe4
commit
a1300e2886
|
@ -49,8 +49,8 @@ class UserLoginCommonMixin:
|
||||||
date_range_filter_fields = [
|
date_range_filter_fields = [
|
||||||
('datetime', ('date_from', 'date_to'))
|
('datetime', ('date_from', 'date_to'))
|
||||||
]
|
]
|
||||||
filterset_fields = ['username', 'ip', 'city', 'type', 'status', 'mfa']
|
filterset_fields = ['id', 'username', 'ip', 'city', 'type', 'status', 'mfa']
|
||||||
search_fields = ['username', 'ip', 'city']
|
search_fields = ['id', 'username', 'ip', 'city']
|
||||||
|
|
||||||
|
|
||||||
class UserLoginLogViewSet(UserLoginCommonMixin, ListModelMixin, JMSGenericViewSet):
|
class UserLoginLogViewSet(UserLoginCommonMixin, ListModelMixin, JMSGenericViewSet):
|
||||||
|
|
|
@ -259,6 +259,10 @@ def generate_data(username, request, login_type=None, user_id=None):
|
||||||
with translation.override('en'):
|
with translation.override('en'):
|
||||||
backend = str(get_login_backend(request))
|
backend = str(get_login_backend(request))
|
||||||
|
|
||||||
|
if user_id is None:
|
||||||
|
user = User.objects.filter(username=username).first()
|
||||||
|
user_id = getattr(user, 'id', None)
|
||||||
|
|
||||||
data = {
|
data = {
|
||||||
'user_id': user_id,
|
'user_id': user_id,
|
||||||
'username': username,
|
'username': username,
|
||||||
|
|
|
@ -6,7 +6,7 @@ from django.db import models
|
||||||
from django.http import HttpResponse
|
from django.http import HttpResponse
|
||||||
from django.utils.translation import gettext_lazy as _
|
from django.utils.translation import gettext_lazy as _
|
||||||
|
|
||||||
from common.utils import validate_ip, get_ip_city, get_logger
|
from common.utils import validate_ip, get_ip_city, get_logger, reverse
|
||||||
from audits.const import ActivityChoices
|
from audits.const import ActivityChoices
|
||||||
from settings.serializers import SettingsSerializer
|
from settings.serializers import SettingsSerializer
|
||||||
from .const import DEFAULT_CITY
|
from .const import DEFAULT_CITY
|
||||||
|
@ -53,8 +53,13 @@ def write_login_log(*args, **kwargs):
|
||||||
detail = _('User {} login into this service.[{}]').format(
|
detail = _('User {} login into this service.[{}]').format(
|
||||||
audit_log.username, login_status
|
audit_log.username, login_status
|
||||||
)
|
)
|
||||||
|
detail_url = '%s?id=%s' % (
|
||||||
|
reverse('api-audits:login-log-list', api_to_ui=True, is_audit=True,),
|
||||||
|
audit_log.id
|
||||||
|
)
|
||||||
post_activity_log.send(
|
post_activity_log.send(
|
||||||
sender=UserLoginLog, resource_id=user_id, detail=detail,
|
sender=UserLoginLog, resource_id=user_id,
|
||||||
|
detail=detail, detail_url=detail_url,
|
||||||
type=ActivityChoices.login_log
|
type=ActivityChoices.login_log
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue