Мне нужно создать систему, которая будет иметь пользовательские представления для моих пользователей

Как в крупных компаниях или больших системах иметь несколько представлений (экранов или UI) для разных типов пользователей, например, иметь UI для панели администратора, другой UI для профиля сотрудника и чтобы обычные пользователи не заходили в панель администратора? Я знаю, что такое авторизация и аутентификация, но как вы это программируете? Как они это делают? Я использую Django и я использую декоратор login required и user_passes_test(lambda u: check_group(u, 'RRHH'), login_url='/denegado/'). и что это делает, это смотрит, принадлежит ли пользователь, который вошел в систему, к HR, показывает представление, если нет, то перенаправляет его на denied и denied перенаправляет его на представление, к которому он принадлежит, смотрите:

def redirigir_por_grupo(request):
    if request.user.groups.filter(name='RRHH').exists():
        return redirect('sucursales')
    elif request.user.groups.filter(name='Gerentes').exists():
        return redirect('gerencia')
    elif request.user.groups.filter(name='Empleados').exists():
        return redirect('perfil')

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

Я хочу, чтобы HR имел доступ ко всем приложениям, руководство - только к инцидентам, а сотрудники - только к своему приложению

Я спрашивал об этом у IA, и они сказали мне использовать декоратор, сделать промежуточное ПО (что я и сделаю, потому что вижу, что это имеет определенные преимущества), но они не сказали мне больше, и я не знаю, правильный ли это способ разработки и не является ли это проблемой безопасности

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