网站一般用什么存储登录状态,以及Cookie的使用

shizhen_zhang 2010-01-14 01:18:45
1、网站一般用什么存储登录状态?

2、如果用 Cookie 是不是每次访问页面都要获取出来呢?

比如 我登录后把加密后的 保存起来
FormsAuthenticationTicket Ticket = new FormsAuthenticationTicket(1, UserKey, DateTime.Now, DateTime.Now.AddDays(1), true, "", FormsAuthentication.FormsCookiePath);
string HashTicket = FormsAuthentication.Encrypt(Ticket); //得到加密后的身份验证票字串
HttpCookie UserCookie = new HttpCookie(FormsAuthentication.FormsCookieName, HashTicket);
//生成Cookie
HttpContext.Current.Response.Cookies.Add(UserCookie); //输出Cookie


我重新打开一个浏览器访问 怎么知道已经登录过呢?
...全文
573 29 打赏 收藏 转发到动态 举报
写回复
用AI写文章
29 条回复
切换为时间正序
请发表友善的回复…
发表回复
yuanlaishini1231 2010-01-15
  • 打赏
  • 举报
回复
学习一下!
wazdoyang 2010-01-15
  • 打赏
  • 举报
回复
[Quote=引用 23 楼 shizhen_zhang 的回复:]
引用 22 楼 wazdoyang 的回复:
引用 20 楼 shizhen_zhang 的回复:
引用 18 楼 wazdoyang 的回复:
引用 17 楼 shizhen_zhang 的回复:
引用 16 楼 zhoufoxcn 的回复:
引用 12 楼 shizhen_zhang 的回复:
Cookie 和 Session 结合使用。 重新打开一个浏览器访问就找不到原来的信息了?

Session是跟浏览器进程ID相关的。重新开一个进程ID就不一样了,所以相当于是新的。

所以说结合使用 也有问题呀?

是新的才對啊 不是新的就不對了

所说的结合使用 怎么结合呀?

session 是在 同一個進程做判斷就是 同一個application,
但是cookie是同一個域都是公用的 當你打開新的瀏覽器的登陸的時候,先判斷cookie  存在就直接登陸好了啊

恩。理解了。新打开的每个页面 前都要判断一下吧?
[/Quote]

这个是判断 你可以用 基类 或者 模板页啊 或者用户控件都可以实现,不用每个页面重复写一次
shizhen_zhang 2010-01-15
  • 打赏
  • 举报
回复
[Quote=引用 27 楼 kk3k2005 的回复:]
引用楼主 shizhen_zhang 的回复:
1、网站一般用什么存储登录状态?

2、如果用 Cookie 是不是每次访问页面都要获取出来呢?

比如 我登录后把加密后的 保存起来
C# codeFormsAuthenticationTicket Ticket=new FormsAuthenticationTicket(1, UserKey, DateTime.Now, DateTime.Now.AddDays(1),true,"", FormsAuthentication.FormsCookiePath);string HashTicket= FormsAuthentication.Encrypt(Ticket);//得到加密后的身份验证票字串            HttpCookie UserCookie=new HttpCookie(FormsAuthentication.FormsCookieName, HashTicket);//生成Cookie            HttpContext.Current.Response.Cookies.Add(UserCookie);//输出Cookie

我重新打开一个浏览器访问 怎么知道已经登录过呢?

cooike + 信息恢复机制
[/Quote]
你说的信息恢复机制 能不能详细的说说呀?
shighui 2010-01-15
  • 打赏
  • 举报
回复
安全的就摆在服务器,用session
无关紧要的就用cookies保存在客户端
KK3K2005 2010-01-15
  • 打赏
  • 举报
回复
[Quote=引用楼主 shizhen_zhang 的回复:]
1、网站一般用什么存储登录状态?

2、如果用 Cookie 是不是每次访问页面都要获取出来呢?

比如 我登录后把加密后的 保存起来
C# codeFormsAuthenticationTicket Ticket=new FormsAuthenticationTicket(1, UserKey, DateTime.Now, DateTime.Now.AddDays(1),true,"", FormsAuthentication.FormsCookiePath);string HashTicket= FormsAuthentication.Encrypt(Ticket);//得到加密后的身份验证票字串 HttpCookie UserCookie=new HttpCookie(FormsAuthentication.FormsCookieName, HashTicket);//生成Cookie HttpContext.Current.Response.Cookies.Add(UserCookie);//输出Cookie

我重新打开一个浏览器访问 怎么知道已经登录过呢?
[/Quote]
cooike + 信息恢复机制
leichaoyu 2010-01-14
  • 打赏
  • 举报
回复
登录一般用session存值,如果要实现下次自动登录的话就要用cookie,cookie存在本地,cookie也是有有效期的
shizhen_zhang 2010-01-14
  • 打赏
  • 举报
回复
[Quote=引用 22 楼 wazdoyang 的回复:]
引用 20 楼 shizhen_zhang 的回复:
引用 18 楼 wazdoyang 的回复:
引用 17 楼 shizhen_zhang 的回复:
引用 16 楼 zhoufoxcn 的回复:
引用 12 楼 shizhen_zhang 的回复:
Cookie 和 Session 结合使用。 重新打开一个浏览器访问就找不到原来的信息了?

Session是跟浏览器进程ID相关的。重新开一个进程ID就不一样了,所以相当于是新的。

所以说结合使用 也有问题呀?

是新的才對啊 不是新的就不對了

所说的结合使用 怎么结合呀?

session 是在 同一個進程做判斷就是 同一個application,
但是cookie是同一個域都是公用的 當你打開新的瀏覽器的登陸的時候,先判斷cookie  存在就直接登陸好了啊
[/Quote]
恩。理解了。新打开的每个页面 前都要判断一下吧?
wazdoyang 2010-01-14
  • 打赏
  • 举报
回复
[Quote=引用 20 楼 shizhen_zhang 的回复:]
引用 18 楼 wazdoyang 的回复:
引用 17 楼 shizhen_zhang 的回复:
引用 16 楼 zhoufoxcn 的回复:
引用 12 楼 shizhen_zhang 的回复:
Cookie 和 Session 结合使用。 重新打开一个浏览器访问就找不到原来的信息了?

Session是跟浏览器进程ID相关的。重新开一个进程ID就不一样了,所以相当于是新的。

所以说结合使用 也有问题呀?

是新的才對啊 不是新的就不對了

所说的结合使用 怎么结合呀?
[/Quote]
session 是在 同一個進程做判斷就是 同一個application,
但是cookie是同一個域都是公用的 當你打開新的瀏覽器的登陸的時候,先判斷cookie 存在就直接登陸好了啊
wazdoyang 2010-01-14
  • 打赏
  • 举报
回复
[Quote=引用 19 楼 imhongbo 的回复:]
url中的参数:fid=7F6F84B991184A60A343E4A35EA5B9FC&t=AN1NFb0+pjMdFMiEirwql87Dzg9Mxz5OELK61iXlfIc=

string text = Request .QueryString["t"]

Response.Write(text);结果是:AN1NFb0 pjMdFMiEirwql87Dzg9Mxz5OELK61iXlfIc=  没有那个+号是怎么回事啊,望高手解答
[/Quote]
Server.UrlEncode("1+2");
shizhen_zhang 2010-01-14
  • 打赏
  • 举报
回复
[Quote=引用 18 楼 wazdoyang 的回复:]
引用 17 楼 shizhen_zhang 的回复:
引用 16 楼 zhoufoxcn 的回复:
引用 12 楼 shizhen_zhang 的回复:
Cookie 和 Session 结合使用。 重新打开一个浏览器访问就找不到原来的信息了?

Session是跟浏览器进程ID相关的。重新开一个进程ID就不一样了,所以相当于是新的。

所以说结合使用 也有问题呀?

是新的才對啊 不是新的就不對了
[/Quote]
所说的结合使用 怎么结合呀?
imhongbo 2010-01-14
  • 打赏
  • 举报
回复
url中的参数:fid=7F6F84B991184A60A343E4A35EA5B9FC&t=AN1NFb0+pjMdFMiEirwql87Dzg9Mxz5OELK61iXlfIc=

string text = Request .QueryString["t"]

Response.Write(text);结果是:AN1NFb0 pjMdFMiEirwql87Dzg9Mxz5OELK61iXlfIc= 没有那个+号是怎么回事啊,望高手解答
wazdoyang 2010-01-14
  • 打赏
  • 举报
回复
[Quote=引用 17 楼 shizhen_zhang 的回复:]
引用 16 楼 zhoufoxcn 的回复:
引用 12 楼 shizhen_zhang 的回复:
Cookie 和 Session 结合使用。 重新打开一个浏览器访问就找不到原来的信息了?

Session是跟浏览器进程ID相关的。重新开一个进程ID就不一样了,所以相当于是新的。

所以说结合使用 也有问题呀?
[/Quote]
是新的才對啊 不是新的就不對了
shizhen_zhang 2010-01-14
  • 打赏
  • 举报
回复
[Quote=引用 16 楼 zhoufoxcn 的回复:]
引用 12 楼 shizhen_zhang 的回复:
Cookie 和 Session 结合使用。 重新打开一个浏览器访问就找不到原来的信息了?

Session是跟浏览器进程ID相关的。重新开一个进程ID就不一样了,所以相当于是新的。
[/Quote]
所以说结合使用 也有问题呀?
周公 2010-01-14
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 shizhen_zhang 的回复:]
Cookie 和 Session 结合使用。 重新打开一个浏览器访问就找不到原来的信息了?
[/Quote]
Session是跟浏览器进程ID相关的。重新开一个进程ID就不一样了,所以相当于是新的。
shizhen_zhang 2010-01-14
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 wazdoyang 的回复:]
引用 12 楼 shizhen_zhang 的回复:
Cookie 和 Session 结合使用。 重新打开一个浏览器访问就找不到原来的信息了?

為什麼找不到啊 ?
[/Quote]

Session 肯定不是同一个了。
blue17300589 2010-01-14
  • 打赏
  • 举报
回复
cookie保存在客户端了
一般用session
wazdoyang 2010-01-14
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 shizhen_zhang 的回复:]
Cookie 和 Session 结合使用。 重新打开一个浏览器访问就找不到原来的信息了?
[/Quote]
為什麼找不到啊 ?
shizhen_zhang 2010-01-14
  • 打赏
  • 举报
回复
Cookie 和 Session 结合使用。 重新打开一个浏览器访问就找不到原来的信息了?
wazdoyang 2010-01-14
  • 打赏
  • 举报
回复
我保存到session 如果登陸時候 選擇記住 用戶名 我也保存到cookie
然後每次登陸先判斷cookie 有的話就直接提交登陸了
jcyugz 2010-01-14
  • 打赏
  • 举报
回复
COOKIE吧,我公司也是用这个,比较方便
加载更多回复(9)

110,571

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧