2015-06-20 21 views
0

我有一個將在內部使用的Web應用程序,它通過Windows身份驗證進行身份驗證。 <authentication mode="Windows" />是在web配置MVC角色授權不適用於Windows帳戶

我有兩個角色 - 所有和一個 - 它可以在應用程序訪問不同的網頁:

[HttpGet] 
public ActionResult Home() 
{ 
    return View(); 
} 

[HttpGet] 
[Authorize(Roles = "All")] 
public ActionResult AllPage() 
{ 
    return View(); 
} 

[HttpGet] 
[Authorize(Roles = "All, One")] 
public ActionResult OnePage() 
{ 
    return View(); 
} 

理想的情況下,每個人都可以看到主頁上,都可以看到的AllPage和OnePage和One只能看到OnePage,而不能看到AllPage

我有兩個用戶,AllUser和OneUser,分別位於各自的組中。問題是無論誰登錄,一切都是未經授權的。授權從未成功。我已經嘗試了很多在線教程,以瞭解如何設置這些教程,但都沒有成功。這真的不應該是那麼複雜,但我無法得到這個爲我的生活工作。

事情我已經嘗試:

  • 指定域的組的前(即Roles = "Domain\\All"
  • 設置授權僅在web配置
  • 同時在web配置設置授權並在MVC控制器
  • 如果任何人有一些指導或幫助,我會很感激。

    回答

    0

    所以我覺得好像有點白癡。事實證明,這個問題與我的代碼完全不同 - 它是維護AD組的人員。他們給了我錯誤的組名,這就是爲什麼它從未認證。一旦我輸入了正確的組名,一切都會奏效。

    值得一提的是,因爲這些是Active Directory環境中的組,所以我必須在組名前面指​​定域 - 但除此之外,代碼很好。我原以爲這很簡單,因此我對它爲什麼不起作用感到沮喪。