2013-12-09 170 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和非标准[授权]属性?