2011-09-29 79 views
0

我是一名正在研究與SharePoint有一些共同點的網站的學生。我使用ASP.NET MVC 3創建Intranet站點,以便人員可以通過Active Directory進行身份驗證。我無法實現這些要求:使用角色進行CRUD限制的Windows身份驗證

  1. 用戶可以定義角色(而不是AD組)並將Active Directory用戶鏈接到這些角色。
  2. 上傳文檔或文件夾時,用戶可以授予角色對文檔的CRUD訪問權限,或者可以從中限制角色。

請幫助我或者給我一個鏈接到一個很好的文章:)

+0

你使用的數據庫我假設?你如何管理它?先編碼還是生成? – Frederiek

+0

尚未決定,我剛剛開始。我將使用EF和MS SQL,但我不知道它是否會先代碼或生成... – Ians

+0

然後我要給你一個示例SQL代碼,我將如何將這些東西保存在數據庫中 – Frederiek

回答

0
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覆蓋角色中的默認設置。

相關問題