2013-12-09 165 views
0

我想實現自定義用戶身份驗證。我有用戶名文本框和密碼文本框也有我提交表單的按鈕。自定義用戶身份驗證

@using (@Html.BeginForm("Submit","Profile")) 
{ 

    <table> 
     <tr> 
      <td>Username: </td> 
      <td>@Html.TextBox("Username")</td> 
     </tr> 
     <tr> 
      <td>Password: </td> 
      <td>@Html.TextBox("Password")</td> 
     </tr> 
     <tr> 
      <td></td> 
      <td><input id="btnSubmit" type="submit" value="Submit" /></td> 
     </tr> 
    </table> 
} 

當按鈕被點擊時,操作方法將被調用。

public ActionResult Submit(User user) 
     { 
      HttpCookie myCookie = new HttpCookie("User"); 
      myCookie["current"] = user.Username; 
      myCookie.Expires = DateTime.Now.AddDays(10); 

      Response.Cookies.Add(myCookie); 

      return RedirectToAction("Index"); 
     } 

我只想檢查是否沒有cookie,操作方法是不可訪問的。如果有一個cookie可以訪問。

+0

檢查cookie中是否存在cookie,如果不存在,發送401響應? –

+0

如何發送401響應? – theChampion

+0

'返回新的HttpUnauthorizedResult()' –

回答

0

按我的意見,這樣的事情應該工作:

var cookie = Request.Cookie["myCookie"]; 

if (cookie == null) 
    return new HttpUnauthorizedResult(); 
0

爲什麼不使用FormsAuthentication.SetAuthCookie方法來設置coockie和非標準[授權]屬性?