<authentication mode="Forms">登陆成功后票据信息放在cooke一个小时,关闭页面,再打开又回到登陆页面

<authentication mode="Forms">登陆成功后票据信息放在cooke一个小时,关闭页面,再打开又回到登陆页面、

 

我的代码,配置如下。    <authentication mode="Forms">
      <forms path="/" loginUrl="login.aspx" protection="All" name="p_houtai" defaultUrl="/"/>
    </authentication>

验证成功后,

string userData = GetUserData(ds);
        FormsAuthentication.SetAuthCookie(userData, false);
        FormsAuthenticationTicket ticket = new FormsAuthenticationTicket(1, username, DateTime.Now, DateTime.Now.AddHours(1.0), false, userData);
        string str2 = FormsAuthentication.Encrypt(ticket);
        HttpCookie cookie = new HttpCookie(FormsAuthentication.FormsCookieName, str2);
        HttpContext.Current.Response.Cookies.Add(cookie);

     Response.Redirect("index.aspx");

关闭这个页面后,再开index.aspx又回到登陆页面了

不负相思意
浏览 462回答 14
14回答

慕无忌1623718

如果想再开时不需要登录,需要: FormsAuthentication.SetAuthCookie(userData, true);

鸿蒙传说

true还是不行

汪汪一只猫

@路旭辉: FormsAuthenticationTicket中也要设置为true

ITMISS

@dudu:  还是不行,是不是要先删除原来的cookie

郎朗坤

@路旭辉:  简单一些 1. web.config <authentication mode="Forms"> <forms path="/" loginUrl="login.aspx" protection="All" name="p_houtai" defaultUrl="/" timeout="60"/> </authentication> 2. 代码 FormsAuthentication.SetAuthCookie(userData, true); 后面的代码不需要。

紫衣仙女

@dudu: 水淼 cookie.Expires = DateTime.Now.AddHours(1);你在箭头的地方添加这句话,就可以了      这个方法可以 

犯罪嫌疑人X

@路旭辉: FormsAuthentication.SetAuthCookie(userData, true);可以不要

泛舟湖上清波郎朗

1、没有写入cookie:Response.Cookies.Add(cookie) 2、cookie被清除了

海绵宝宝撒

    HttpCookie cookie = new HttpCookie(FormsAuthentication.FormsCookieName, str2);        HttpContext.Current.Response.Cookies.Add(cookie); 必須制定cookie的過期時間。

繁星点点滴滴

FormsAuthentication.SetAuthCookie(userData, true);这段代码是不是可以不要
打开App,查看更多内容
随时随地看视频慕课网APP