我需要获取具有指定名称的cookie。
如果用户凭据有效,我将设置如下cookie。
public ActionResult Login()
{
if(user credentials are valid)
{
FormsAuthentication.SetAuthCookie("customer", true);
}
}
现在在我的其他控制器中,我需要查看是否有任何名为" customer"的cookie。
public ActionResult Validate()
{
var cookie = Request.Cookies["customer"];
//here I am getting cookies as null
}
当我在Chrome设置中检查Cookie时,有cookie但没有名称customer,但它存在默认名称.ASPXAUTH
我的要求是不检查用户是否经过身份验证,我的要求是检查名称为"客户"退出&然后做一些我的东西。
如何解决此要求。
感谢。
答案 0 :(得分:0)
FormsAuthentication.SetAuthCookie("customer", true);
使用特定的值创建表单身份验证Cookie,但Cookie名称默认为.ASPXAUTH
(您可以更改)。 Forms Auth模块进一步识别此类cookie。请注意,customer
这里是Cookie的值,而不是名称。
但要创建具有任意名称的cookie,只需手动创建
public ActionResult Login()
{
HttpCookie cookie = new HttpCookie("customer", "value");
this.Response.SetCookie( cookie );
}
请注意,表单身份验证模块会识别具有任意名称(customer
)的Cookie ,因此不会将用户识别为已通过身份验证。