Таблицы пользователей базы данных и разрешения - PullRequest
0 голосов
/ 08 марта 2012

Я делаю проект системы БД для колледжа, который требует онлайн-входа для людей, чтобы прочитать информацию о своих платежах. У меня есть таблица «person», в которой хранится информация о людях, и у них есть уникальный идентификатор, который будет их именем пользователя, с паролем, сгенерированным где-то еще (учитывая, как работает система, эта часть не представляет никаких проблем). Однако иногда некоторые люди не будут напрямую участвовать в данных в базе данных, и вместо этого им будет предоставлен пароль, который будет храниться в базе данных.

Теперь. Как назначить «роли» этим пользователям, хранящимся в базе данных? Кстати, я работаю с Oracle и JSP в качестве основного языка.

1 Ответ

0 голосов
/ 08 марта 2012

Ну, вам нужно либо

  • использовать встроенную поддержку Oracle для ролей,
  • хранить данные, которые вам нужны, в таблице, либо
  • получать их изчто-то, что вы имеете вне базы данных.

Для нативной поддержки см., например, docs.oracle.com для CREATE ROLE.

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

create table user_roles (
  user_id integer primary key references users (user_id),
  user_role varchar(20) not null references user_roles (user_role)
);

Если вы сделаете это, обратите пристальное внимание на разрешения для этой таблицы.Вы не хотите, чтобы пользователи могли наращивать свою роль.

Для получения ее из чего-то вне базы данных вы можете использовать что-то вроде

  • имя сетевого входа,
  • IP-адрес,
  • cookie или
  • что-то еще.

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

Когда мне нужны роли в приложении базы данных, я обычно полагаюсь на CREATE ROLE.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...