2014-04-08 39 views
0

我有一個帶有產品控制器的mvc 5應用程序和所有產品相關視圖的相應視圖文件夾。我想讓用戶只能通過用戶名「admin」訪問整個事物,而不是在每個控制器方法的頂部手動分配一個標籤[Authorize(Users =「admin」)]。我嘗試在產品視圖文件夾中添加一個新的web.config文件,內容如下,但沒有奏效。mvc 5控制整個控制器或整個視圖文件夾的授權

<configuration> 
    <system.web> 
    <authorization> 
     <allow users="admin"/> 
     <deny users="*"/> 
    </authorization> 
    </system.web> 
</configuration> 

如果是的話,這可能實現嗎?

由於事先

回答

1

AuthorizeAttribute既可以在一個特定的方法和控制器類中添加。第二個會影響該控制器中的每個操作方法。

[Authorize(Users = "admin")] 
public class AdminController 
{ 
    public ActionResult Index() { ... } 
} 

如果要使用Web.config,則必須記住IIS將根據URL加載Web.config文件,而不需要任何有關Views的知識。因此,如果URL是http://server/Products/Something,那麼您必須將您的配置文件放在應用程序根目錄中名爲Products的文件夾中。或者,您可以在根Web.config文件中使用<location path="/Products">