[英]How to redirect login urls depending upon user is admin or staff in django
[英]How to track login locations of admin/staff in django website
我有一个django网站,
1.我需要在其中创建一些职员用户来登录和访问/查看模型的地方。
2.但是同时我想跟踪员工甚至管理员的登录位置。
3.我有任何适当的Django模块或第三方api来执行此操作。
您可以使用一些中间件和GIS contrib应用程序来完成此任务,该应用程序提供了geoip查找的包装器。
创建一个简单的表来记录您的额外详细信息,然后使用类似以下的内容:
from django.contrib.gis.utils import GeoIP
from logger.models import Log # your simple Log model
def get_ip(request):
xff = request.META.get('HTTP_X_FORWARDED_FOR')
if xff:
return xff.split(',')[0]
return request.META.get('REMOTE_ADDR')
class UserLocationLoggerMiddleware(object):
def process_request(self, request):
if request.user and request.user.is_superuser:
# Only log requests for superusers,
# you can control this by adding a setting
# to track other user types
ip = get_ip(request)
g = GeoIP()
lat,long = g.lat_lon(ip)
Log.objects.create(request.user, ip, lat, long)
有关如何设置和配置自定义中间件的信息,请参阅中间件文档 。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.