我有一個通過ClickOnce
分發的.NET應用程序。應用程序內的安全性通過使用一組組作爲資源的WindowsPrincipal.IsInRole(GroupName)
方法實現。這種結構對於我們對於與組相同的域內的用戶來說效果很好。不幸的是,我們現在有用戶需要使用在機器上工作的應用程序,並在我們的域所信任的不同域中使用用戶帳戶,但不在同一個林中。無法讓.NET應用程序訪問跨域的AD組
看來IsInRole()
查詢本地計算機上的AD票證以獲取組成員資格。不幸的是,此票證僅包含機器域的域本地組和其他受信任域的全局和通用組,我們的組是第一個域中的域本地組。捕捉22的情況來自於這樣一個事實,即AD不允許外部安全委託人在全球或全球團體中,因此雖然第二個領域的用戶可以查詢他們,但他們不能成爲它的成員(使其毫無意義! )
解釋: 有兩個域:DOM1和DOM2,它們之間有信任設置,但它們不在同一個林中。
DOM1\User1
DOM2\User2
是兩個用戶。
我想把User1
和User2
放在一個對兩個用戶都可見的組中,並且可以同時包含它們。
我可以圍繞它目前看到的唯一方法是以下(其中{}表示組,DL =域本地和GLO = GlobalGroup的成員。)
讓兩個全局組一個在各個領域:
DOM1\GLOGroup1 : {DOM1\User1}
DOM2\GLOGroup1 : {DOM2\User2}
,幷包含兩個全局組的兩個域本地組:
DOM1\DLGroup1 : {DOM1\GLOGroup1, DOM2\GLOGroup1}
DOM2\DLGroup1 : {DOM1\GLOGroup1, DOM2\GLOGroup1}
但是,這是不是真的可以接受的,我們實際上有兩個以上的域的d大約70個小組需要管理,包括小組的等級,我們對其他領域的小組管理沒有太多直接的控制。
我們還沒有完成任何關於使用LDAP的方法的思考,但是從我讀過的那一點我相信它通常不被推薦用於此目的?
感謝毛羅, 是的,我們試圖通用組太多,但它們不能包含外部安全主體要麼這意味着用戶是DOM2不能在一組。 – user38292 2008-11-17 17:28:38