簡體   English   中英

將活動目錄組與Windows身份驗證aspnet mvc 3集成

[英]integrating active directory group with windows authentication aspnet mvc 3

我在mvc 3應用程序中使用Windows身份驗證,我只希望我的某些活動目錄組訪問此應用程序。 我沒有在我的控制器中使用[Authorize]屬性,只是我的web.config配置。

這是我設置web.config的方式:

  <system.web>
    <authentication mode="Windows" />
    <authorization>
    <allow roles="EUsers" />
        <deny users="*" />
    </authorization>
  </system.web>
  <system.webServer>
    <validation validateIntegratedModeConfiguration="false" />
    <modules runAllManagedModulesForAllRequests="true" />
    <security>
        <authorization>
            <add accessType="Allow" roles="EUsers" />
            <add accessType="Deny" users="*" />
        </authorization>
    </security>
  </system.webServer>

我還在IIS授權部分啟用了Windows身份驗證和ASP.NET Impersation。 我正在嘗試與我的用戶訪問該應用程序(我是EUsers的成員),但它總是提示我的用戶和密碼。 我忘記了什么嗎? 難道我做錯了什么?

我沒有在我的控制器中使用[Authorize]屬性,只是我的web.config配置。

那簡直是錯的。 在ASp.NET MVC應用程序中,您不應使用web.config來控制授權。 您應該使用[Authorize]屬性。 所以:

[Authorize(Roles = "EUsers")]

我在評論部分看到它仍然無法正常工作。 我相信這可能是因為“拒絕”被明確分配給users =“*”和權限優先規則

以下是解決權限沖突的一些規則:

“拒絕”權限通常優先於“允許”權限。 直接應用於對象的權限(顯式權限)優先於從父級繼承的權限(例如,從組中)。 從近親屬繼承的權限優先於從遠程前輩繼承的權限。 因此,從對象的父文件夾繼承的權限優先於從對象的“祖父”文件夾繼承的權限,依此類推。 來自同一級別的不同用戶組(直接設置或繼承,以及“拒絕”或“允許”)的權限是累積的。 因此,如果用戶是兩個組的成員,其中一個組具有“允許”權限“讀取”而另一個組具有“允許”“寫入”,則用戶將具有讀寫權限 - 取決於當然,上面的其他規則。 雖然拒絕權限通常優先於允許權限,但情況並非總是如此。 顯式“允許”權限可以優先於繼承的“拒絕”權限。

權限的優先級層次結構可以總結如下,列表頂部列出了較高的優先權:

  1. 明確拒絕
  2. 明確允許
  3. 繼承拒絕
  4. 繼承允許

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM