Проверка подлинности Windows с использованием ролей для ограничений CRUD - PullRequest
0 голосов
/ 29 сентября 2011

Я студент, работающий над веб-сайтом, имеющим несколько общих черт с SharePoint. Я использую ASP.NET MVC 3 для создания интранет-сайта, чтобы люди могли проходить аутентификацию в Active Directory. У меня проблемы с выполнением этих требований:

  1. Пользователи могут определять роли (не группы AD) и связывать пользователей Active Directory с этими ролями.
  2. При загрузке документов или папок пользователь может предоставлять роли CRUD-доступ к документу или ограничивать роли из него.

Пожалуйста, помогите мне или дайте ссылку на хорошую статью:)

1 Ответ

0 голосов
/ 29 сентября 2011
CREATE TABLE role
(
  role NVARCHAR(50) NOT NULL PRIMARY KEY,
  create BIT NOT NULL,
  read   BIT NOT NULL,
  update BIT NOT NULL,
  delete BIT NOT NULL
)

CREATE TABLE item
(
  id INT NOT NULL PRIMARY KEY,
  name NVARCHAR(50) NOT NULL,
  id_parent INT,
  CONSTRAINT FK_item_item FOREIGN KEY(id_parent) REFERENCES item(id)
)

CREATE TABLE user
(
  id INT NOT NULL PRIMARY KEY,
  adUserName NVARCHAR(50) NOT NULL,
  role NVARCHAR(50) NOT NULL,
  CONSTRAINT FK_user_role FOREIGN KEY(role) REFERENCES role(role)
)

CREATE TABLE user_item_rights
(
  id_user INT NOT NULL,
  id_item INT NOT NULL,
  create BIT NOT NULL,
  read   BIT NOT NULL,
  update BIT NOT NULL,
  delete BIT NOT NULL,
  CONSTRAINT PK_user_item_rights PRIMARY KEY(id_user,id_item),
  CONSTRAINT FK_user_item_rights_user FOREIGN KEY(id_user) REFERENCES user(id),
  CONSTRAINT FK_user_item_rights_item FOREIGN KEY(id_item) REFERENCES item(id)
)

Это должно дать вам представление о том, как вы могли бы реализовать это. Вы также можете перевести его на занятия. Вы также можете реализовать наследование CRUD и т. Д. Или определить таблицу role_item_right. По моей идее user_item_rights переопределяет настройки по умолчанию в роли.

...