2013-01-08 93 views
0

我遇到了一點障礙,不幸的是,我一直無法找到我的問題的具體答案。我會盡我所能解釋這個問題;我希望它是有道理的...問題與登錄到SQL Server Windows身份驗證到Active Directory組

我遇到了SQL Server和Windows身份驗證工作方式的問題。這很複雜,所以我會盡力說清楚。

對於這個場景,畫面如下:

  • 一個SQL Server 2008實例,
  • 在該服務器上稱爲Applications一個數據庫,
  • Applications數據庫有兩種模式稱爲app1app2,
  • 每個模式都包含同名應用程序的所有表,

  • 兩個Windows AD組,一個用於每個應用程序名爲app1_RWapp2_RW

  • 用戶的任何給定的數目可以是在一個或兩個,這些廣告組的,
  • 兩個.NET應用程序,在連接到數據庫中使用Windows身份驗證模式

    Data Source=DATABASEINSTANCENAME;Initial Catalog=APPLICATIONS;Integrated Security=True 
    

當用戶打開或者application1application2,那麼AP摺疊做如下(按照這個順序):

  1. 檢查,以確保當前的Windows用戶是控制該應用的安全培訓相關的Windows AD組的成員。

  2. 如果它們是AD組的成員,則允許該應用程序繼續,

  3. 登錄到使用Windows身份驗證數據庫。

技術問題

當用戶既app1_RWapp2_RW的成員,則似乎我不能強迫哪個組登錄。如果用戶登錄到application1,我看到Windows身份驗證使用app2_RW將它們記錄到數據庫中的位置。因此,應用程序失敗,因爲app2_RW無權訪問運行application1所需的架構/權限。

我希望我的答案和指定要在連接字符串中登錄哪個Windows AD組一樣簡單,但是據我所知,不能指定連接的「用戶ID」字符串如果Integrated Security=True

任何人都可以提供任何幫助嗎?我非常想繼續使用Windows AD組來管理我的應用程序。如果我錯過了任何信息,或者我可以澄清,請告訴我。

非常感謝你,祝你有美好的一天。

+0

你確定你已經提供完整的信息嗎?你收到什麼錯誤信息?這是權限問題還是命名問題?這兩個應用程序都在同一目錄還是不同的目錄中?....通常,您需要執行的操作是在數據庫中創建角色,爲角色分配權限,然後使用「用戶映射」對話框將登錄映射到數據庫角色。這將允許您實現您需要的許多/許多映射。 – Ben

回答

0

只要2個AD組不相互排斥,您就可以在應用程序中設置關於哪個組是超集並將該組用作登錄的規則。如果2組互斥,則再次設置規則以給予最小權限。希望有所幫助。

相關問題