2010-02-11 22 views
0

我有基本的mvc項目與登錄屏幕設置。我創建了一個新頁面,但是當我運行該網站時,我可以粘貼新視圖的網址並在那裏導航,並且不會將我重定向到登錄屏幕。mvc與表單auth我如何使頁面需要認證

一旦我使用表單身份驗證,鎖定我網站的其餘部分的最佳方式是什麼?

謝謝

回答

1

在ASP.NET MVC中,您通常授權控制器或控制器方法。

爲此,您只需在控制器頂部或控制器方法中添加[Authorize]即可。

如果您只想授權特定角色,請使用[Authorize("RoleName")]

例子:

[Authorize] 
public class MyController : Controller 
{ 
    public ActionResult SomeAction() 
    { 
     // ... 
    } 

    [Authorize("Administrators")] 
    public ActionResult AdministrativeAction() 
    { 
     // ... 
    } 
} 
+0

(+1)打字只是一點點更快然後我:) – 2010-02-11 16:18:58

+0

感謝您的答覆!只是想知道,在默認的應用程序中,我將[Authorize]放在AccountController上,以及該控制器中的Register()方法,但是我仍然可以通過單擊鏈接導航到Register視圖。爲什麼它不在那裏工作? – 2010-02-11 20:24:45

+0

@chris p:你的問題似乎表明你沒有使用Forms Auth或類似的東西。除非您真的配置了成員資格/角色提供者,否則'[Authorize]'屬性不會有任何效果。 – Aaronaught 2010-02-11 20:27:35