自定义用户验证

时间:2013-12-09 11:11:58

标签: c# asp.net-mvc authentication cookies

我想实现自定义用户身份验证。我有用户名文本框和密码文本框我也有提交表单的按钮。

@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可以访问。

2 个答案:

答案 0 :(得分:0)

根据我的评论,这样的事情应该有效:

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

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

答案 1 :(得分:0)

为什么不使用FormsAuthentication.SetAuthCookie方法来设置cookie和标准[Authorize]属性?