2009-09-15 225 views
4

在ASP.NET MVC應用程序中,我希望某些控制器只能由授權用戶訪問。 AuthorizeAttribute對此很有效。但是,即使遠程用戶未經授權,我也希望這些控制器能夠訪問某些IP號碼。我應該重寫AuthorizeAttribute來提供此功能,還是有更好的解決方案?ASP.NET MVC:如何爲用戶或客戶端IP授權?

回答

2

你的直覺是正確的 - 在這種情況下,擴展授權屬性是最有意義的。

3

請記住,如果添加兩個AuthorizeAttribute與用戶和自己的ClientIPAuthorizeAttribute與客戶端IP的,內部未授權用戶指定的IP的仍然不會被允許...

這是因爲個人AuthorizeAttribute小號不能互相溝通做邏輯OR。子類化是實現你想要的最簡單和最乾淨的方式。