2014-12-18 78 views
2

我知道控制器正在檢查(某處)的實際用戶角色,但這些方括號表示什麼?「[Authorize(Roles = ADMIN)]」中的括號是什麼意思?

它看起來像某種指令,但我找不到誰解析此指令,也沒有找到授權函數定義的位置。

+0

看看這個:[在ASP.NET MVC中授權屬性](http://stackoverflow.com/questions/10848086/authorize-attribute-in-asp-net-mvc) – melancia

+0

編輯回「ASP.NET」在標題中,因爲有人在ASP.NET頁面中搜索該文件可能不知道它來自C#,因爲我也無法找到它。 – DarkLighting

+0

謝謝大家。那些在評論中提供了答案和鏈接的人。 – DarkLighting

回答

4

也就是在C#的語法爲attribute

屬性可以放置在幾乎任何聲明,但具體的屬性可能限制類型上,它是有效的聲明。在C#中,您可以通過將方括號([])中包含的屬性名稱置於其應用的實體聲明的上方來指定屬性。

所以你有什麼是你的控制器上的AuthorizeAttribute。這是一種action filter。 ASP.NET/MVC運行時是誰「檢查」並執行操作過濾器。

1

Authorize屬性實際上是AuthorizeAttribute。這可能有助於您的搜索。括號是一個指令,意味着裏面的東西是一個屬性。基於它們包裝的屬性,屬性的處理方式不同。在AuthorizeAttribute的情況下,它掛鉤到請求中,並在該動作的代碼運行之前運行它自己的代碼。

相關問題