Ограничение множественного входа для пользователя в Django Rest Framework
Я пытаюсь ограничить несколько входов в систему от одного пользователя в моем webapp и для этого я следую этому руководству:
https://dev.to/fleepgeek/prevent-multiple-sessions-for-a-user-in-your-django-application-13oo
Я следовал этому шагу за шагом, и когда я вхожу в систему с помощью postman (или чего-либо еще):
http://localhost:8000/api/token/
Я не могу увидеть ни одной сессии, которая была создана в ORM. Это происходит потому, что я использую JWTAuthentication
?
apps.py
class AccountsConfig(AppConfig):
name = 'users'
def ready(self):
import users.signals
signals.py
@receiver(user_logged_in)
def on_user_logged_in(sender, request, **kwargs):
LoggedInUser.objects.get_or_create(user=kwargs.get('user'))
@receiver(user_logged_out)
def on_user_logged_out(sender, **kwargs):
LoggedInUser.objects.filter(user=kwargs.get('user')).delete()
Models.py
class User(AbstractUser):
is_company = models.BooleanField(default=False)
is_employee = models.BooleanField(default=False)
is_client = models.BooleanField(default=False)
@property
def full_name(self):
return self.first_name + " " + self.last_name
class LoggedInUser(models.Model):
user = models.OneToOneField(User, related_name='logged_in_user', on_delete=models.CASCADE)
# Session keys are 32 characters long
session_key = models.CharField(max_length=32, null=True, blank=True)
def __str__(self):
return self.user.username
Когда я пытаюсь runserver
с этой конфигурацией, она показывает следующую ошибку:
django.core.exceptions.ImproperlyConfigured: Ярлыки приложений не уникальны, дубликаты: пользователи
settings.py
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'rest_framework',
'rest_framework.authtoken',
'corsheaders',
'users',
'users.apps.AccountsConfig',
Где users
- имя приложения