问题描述
我用MicrosoftVisualStudio2010开发了一个网站,语言用C#。使用.net的身份验证系统。现在遇到以下情况:在网站启动后一段时间(不一定时,一天或好几天)后,会出现用户登录后再打开新的页面还要重新录的情况,同时在地址栏的网址的网页路径之间会增加一些代码(如/(X(1))/,登录前http://jyin.kmyz.edu.cn/(X(1))/login.aspx?ReturnUrl=%2fAllUser%2fzxtw.aspx登录后http://jy.ynu.edu.cn/(X(1)F(eSbUG_ZgLx6aoQAdzjnDZKQAmbuopnfAM1WpCkad70i7oUwOEPivVpipUDKO2CISIR79_Ix07HPx21O-YJVSfuVVTbt8G1ZMdDF8R_Rf8tg1))/AllUser/zxtw.aspx),而且Menuheader中需要登录后才可见的链接也直接显示出来,但仍然要登录后才可用。在重新启动网站后可以暂时解决这个问题。请问各位高手,这是什么问题,要如何才能根本解决?多谢了!
解决方案
解决方案二:
身份验证登录超时。把超时时间设置长点。
解决方案三:
session超时了
解决方案四:
引用2楼的回复:
session超时了
这个问题不只是在一个用户电脑上出现,而是所有的用户都会出现也会是session超时的原因吗?
解决方案五:
引用2楼的回复:
session超时了
这个问题不只是在一个用户电脑上出现,而是所有的用户都会出现也会是session超时的原因吗?
解决方案六:
session是有一个过期时间的,你的所有用户都是用session来保存用户名,密码等等,只要不操作,肯定就过期,就清空所有保存的信息
解决方案七:
IIS版本多少
解决方案八:
session在客户端所以应当是全部用户都会出现这个问题你想要让用户能每次都使用那就用cookie记住密码但是这样的安全性需要自己考虑了看你的网站是什么类型的项目例如银行,电子商务。是绝对不可能这么多的顶多也就csdn论坛或者一些别的性质的可以这么多
解决方案九:
2个方法:1、保证IIS里面只有一个默认启动文档,同时在web.config里面也不能设置默认启动文档2、保证的你session机制是一致的,你出现的问题说明了你使用了2种不同的session认证方式,这个也可以在web.config里面设置。在3.5的时候默认是cookie,你现在可能使用的是cookie和url2中方式混乱,所以导致了BUG
解决方案十:
引用6楼的回复:
IIS版本多少
6.0
解决方案十一:
引用8楼的回复:
2个方法:1、保证IIS里面只有一个默认启动文档,同时在web.config里面也不能设置默认启动文档2、保证的你session机制是一致的,你出现的问题说明了你使用了2种不同的session认证方式,这个也可以在web.config里面设置。在3.5的时候默认是cookie,你现在可能使用的是cookie和url2中方式混乱,所以导致了BUG
IIS版本6.0,身份验证是forms和匿名,forms中cookie模式设置是“自动检测”
解决方案十二:
2个方法都试了吗?还是不可以吗?
解决方案十三:
该回复于2012-06-01 09:59:50被版主删除
解决方案十四:
引用11楼的回复:
2个方法都试了吗?还是不可以吗?
早上我重启网站后就一直没出问题,但说不准什么时候又开始了。一般在网站启动后一段时间(不一定时,一天或好几天)后会出现
解决方案十五:
你那种情况是验证方式改变了,同时当你出现问题的时候你不通过登录,直接输入地址试试,看什么情况。
解决方案:
引用14楼的回复:
你那种情况是验证方式改变了,同时当你出现问题的时候你不通过登录,直接输入地址试试,看什么情况。
如果我登录过,直接输入地址就可以访问,不会出现那种情况,但点其它链接又会出现。后来我试着把身份验证是forms中cookie模式设置“自动检测”改为使用cookie后,就都可以不用每次访问其它网页都要登录了,但不该出现的链接还是在。后来我又重启了网站就好了。我现在把cookie模式设置“自动检测”改为使用cookie,看看会不会再出现问题
解决方案:
web.config里面需要设置<sessionStatecookieless="false"
解决方案:
引用16楼的回复:
web.config里面需要设置<sessionStatecookieless="false"
这个已经设了,谢谢各位!等试试如果解决了再结帖
解决方案:
使用Forms验证,并且设置了过期时间,并且没有删除过浏览器的cookie,并且系统的临时文件夹还有足够的空间,一般情况下是不会提前失效的
解决方案:
如果服务器系统资源占用太高,framework回进行回收,有可以能会把session回收回去。session是存在服务器上的,和浏览器基本上是没关系的cookie是存在客户端的,会有安全问题,但基本上不会出现超时之类的问题。