mirror of https://github.com/jumpserver/jumpserver
perf: Skip alert if login city seen in past 7 days
parent
1bb44e783a
commit
282ca25504
|
@ -1,16 +1,16 @@
|
||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
#
|
#
|
||||||
import ipaddress
|
import ipaddress
|
||||||
|
from datetime import datetime, timedelta
|
||||||
from urllib.parse import urljoin, urlparse
|
from urllib.parse import urljoin, urlparse
|
||||||
|
|
||||||
from django.conf import settings
|
from django.conf import settings
|
||||||
from django.utils.translation import gettext_lazy as _
|
from django.utils.translation import gettext_lazy as _
|
||||||
|
|
||||||
from audits.const import DEFAULT_CITY
|
|
||||||
from users.models import User
|
|
||||||
from audits.models import UserLoginLog
|
from audits.models import UserLoginLog
|
||||||
|
from common.utils import get_ip_city, get_request_ip
|
||||||
from common.utils import get_logger, get_object_or_none
|
from common.utils import get_logger, get_object_or_none
|
||||||
from common.utils import validate_ip, get_ip_city, get_request_ip
|
from users.models import User
|
||||||
from .notifications import DifferentCityLoginMessage
|
from .notifications import DifferentCityLoginMessage
|
||||||
|
|
||||||
logger = get_logger(__file__)
|
logger = get_logger(__file__)
|
||||||
|
@ -33,8 +33,13 @@ def check_different_city_login_if_need(user, request):
|
||||||
return
|
return
|
||||||
|
|
||||||
city = get_ip_city(ip)
|
city = get_ip_city(ip)
|
||||||
last_city = get_ip_city(last_user_login.ip)
|
last_cities = UserLoginLog.objects.filter(
|
||||||
if city == last_city:
|
datetime__gte=datetime.now() - timedelta(days=7),
|
||||||
|
username__in=usernames,
|
||||||
|
status=True
|
||||||
|
).exclude(city__in=city_white).values_list('city', flat=True).distinct()
|
||||||
|
|
||||||
|
if city in last_cities:
|
||||||
return
|
return
|
||||||
|
|
||||||
DifferentCityLoginMessage(user, ip, city).publish_async()
|
DifferentCityLoginMessage(user, ip, city).publish_async()
|
||||||
|
|
Loading…
Reference in New Issue