场景描述:
通常网站都会用session保存登陆用户信息,当session过期会自动跳转到登陆页面,这是用户必须再次登陆.
但是项目中遇到一个特殊需求,没有登录的概念,即用户首次进入网站,我们能偶获取到一个唯一码[通过这个码第三方接口获取用户信息],用户在本系统中不在注册,也不需要登陆。
我希望设置session 永不不过期(>24小时即可),
.NET中如何设置session 永不不过期,只要用户不主动注销,就一直存在
参考了一下设置,我在配置文件中做了似乎并不能长期保存啊?
Session Management in ASP.NET MVC
如果这个唯一标识码每次获取的都是一致的。那在每次会话开始时做处理。
如果不一样,那也项目也没法做了。因为就算你惠华永不过期。但服务器总要重启,客户端浏览器总要清缓存。
随便一个就是一个新会话。设置会话保持时间,是在配置里配置好就可以的,
你配置好但不能长期存在的原因,应该是服务端的会话已经被释放了。一般是由于服务端运行时被回收了
干嘛不自定义一个Session,你要浏览器端保存一个永久的cookie进行验证就可以了。
用户登录成功后,将用户信息存进session,同时经过加密后将用户名和密码写入cookie,设置cookie的过期时间为一年,
然后在pago_load的中检测是否含有cookie,如果有,拿 它的值 再到后台检测一遍,如果一致则直接登录,如果没有则跳转到登录页面。
这样,即使你默认session过期(20分钟)了,但是cookie时间比较长,也能实现一直登录。如果清除了cookie则必需重新登录。
我现在是这样做的。
cookie就实现了
建议用cookie,session 存在太多的不稳定因素。
session就算你设了也不管用,还是用cookie吧
鄙人最终还是使用了cookie存储 便于设置设置过期时间