Мне нужно создать систему, которая будет иметь пользовательские представления для моих пользователей
Как в крупных компаниях или больших системах иметь несколько представлений (экранов или 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, и они сказали мне использовать декоратор, сделать промежуточное ПО (что я и сделаю, потому что вижу, что это имеет определенные преимущества), но они не сказали мне больше, и я не знаю, правильный ли это способ разработки и не является ли это проблемой безопасности