2014-08-27 61 views
1

我正在學習ASP.Net成員資格,我希望能夠只允許用戶在登錄時使用某些操作。我目前正在使用當您使用MVC 4創建新的互聯網應用程序項目時,Microsoft提供的ASP.Net成員資格的默認模板。我已嘗試使用[Authorize]屬性標記操作,但似乎沒有阻止未登錄的用戶查看頁面。有沒有簡單的方法來實現這個或我應該看的另一個屬性?如果他們沒有登錄到登錄頁面,我還在尋找一種重定向人的方法?ASP.Net成員資格只允許用戶在登錄時訪問操作

示例代碼:

[Authorize] 
    public ActionResult Register() 
    { 
     return View(); 
    } 

    // 
    // POST: /Account/Register 

    [HttpPost] 
    [Authorize] 
    [ValidateAntiForgeryToken] 
    public ActionResult Register(RegisterModel model) 
+0

如果您使用的是[授權]屬性正確該頁面只應登錄的用戶訪問。我們可以看到代碼嗎? – user1666620 2014-08-27 09:41:33

+0

我已將代碼放在原始評論中,註冊頁面應該只能由已登錄的用戶訪問(不要問爲什麼!) – user3412625 2014-08-27 09:44:03

+0

上述內容應該可行。嘗試清除您的Cookie,然後重試。 – Tobias 2014-08-27 09:46:47

回答

0

有一件事我能想到的是,你可能有Windows身份驗證模式。

請確定您使用的是Forms Authentication

例如,

<system.web> 
    ... 
    <authentication mode="Forms"> 
     <forms loginUrl="~/Account/Login" timeout="2880"/> 
    </authentication> 
    ... 
</system.web> 
相關問題