Группы пользователей и разрешения на основе арендаторов

Это широкий вопрос (по моему мнению), и я здесь только для того, чтобы разобраться в своей логике.

У меня есть приложение, в котором регистрируются разные компании. Теперь у каждой компании будут свои пользователи. Поэтому я расширил модель пользователя и сделал пользователей доступными только для их конкретных компаний.

Проблема для меня заключается в группе пользователей и разрешениях. Теперь каждая компания будет иметь свою собственную группу и разрешение (как управлять этим?), также когда новая компания регистрируется, я создаю пользователя из имеющихся данных, теперь как создать новую группу, принадлежащую этой новой компании и добавить роли и разрешение этой конкретной группе или даже дать разрешение этому пользователю во время регистрации. Разрешение необходимо, потому что это будет первый пользователь, и на основании разрешения он сможет делать другие вещи. До сих пор я создавал суперпользователя во время регистрации компании, но это не правильно? (работа над проектом все еще продолжается, вот почему)

Я также расширил модель регистрации пользователей, поэтому, например, если для этой компании создается второй пользователь, я могу добавить его в определенную группу только во время регистрации пользователя. Второй пользователь создается в /api/registeruser/, а первый создается как user.objects.create_user(data) в процессе регистрации компании. Или даже первый пользователь может вручную предоставить права и добавить в определенную группу этого второго пользователя. Проблема заключается в первом случае.

Помогите, пожалуйста, как я могу создать группу пользователей, принадлежащую компании, создать эту группу программно, добавить все необходимые разрешения этой группе во время регистрации компании?

Я не прошу код, а лишь хочу знать правильный подход к тому, как мне следует действовать дальше.

Вернуться на верх