Задать вопрос
@turdubekov
Студент

Как сделать личный кабинет для user?

Делаю обычный todo list, в котором есть авторизация -> создать/редактировать/удалить задачи.
вопрос: как я могу реализовать так, чтобы был два роля: админ и юсер
юсер - может создавать и видеть только свои таски
админ - может видеть все таски юзеров?

было использовано: spring botot, Security, thymeleaf, Postgres
  • Вопрос задан
  • 311 просмотров
Подписаться 2 Простой Комментировать
Решения вопроса 2
Captain
@Captain
Не очень понятно в чем проблема. У пользователя (и админа) есть id (а если есть группы пользователей, то id группы пользователей). В зависимости от этого id, мы в запросе из БД должны выбирать только задачи с нашим id пользователя в поле создателя, или все задачи, если это admin.
Ответ написан
Комментировать
igolets
@igolets
Программист C#, MSSQL
Учитывая, что нет указания на язык разработки, попробую уточнить предыдущий ответ в максимально абстрактных терминах.

По-хорошему, в БД у каждого пользователя есть список ролей, к которым он привязан, а в используемом языке есть механизм аутентификации (ввести логин и пароль, так, что потом в последующих запросах система пользователя узнавала). А на сервере есть возможность узнать логин юзера, сбегать в БД и посмотреть его роли. Это простой способ.

Чуть менее "в лоб", но более правильно делать так:
В коде определяются разделы сайта, которые доступны разным ролям, например, выделяется админский раздел, куда можно только админам. Как в неуказанном языке это делается не знаю, в C# — контроллерами и атрибутами доступа. Дальше средствами языка/среды выполнения проверяется, есть ли у юсера указанная роль и выдается/не выдается доступ. А дальше в админском разделе находится набор админской логики. Например, можно всё видеть, удалять и т.п.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы