我现在有一个购物车asp.net应用程序,我管理登录系统只需做一个数据库表与2个字段的用户名和密码,并在我的web.config文件重定向所有用户登录页面的身份验证和授权标签
<authentication mode="Forms" >
<forms defaultUrl="default.aspx" loginUrl="login1.aspx" cookieless="AutoDetect" ></forms>
</authentication>
<authorization>
<deny users="?"/>
</authorization> 在我的登录页面上,只需将用户输入的用户名/密码与数据库条目进行比较,如果用户调用函数是正确的
FormsAuthentication.RedirectFromLoginPage(username, true); 这将用户重定向到主页,它在我的本地系统上工作得很好,我最近没有issue.But,我在网上托管我的应用程序,我的登录system.When有一些问题,我登录到网站它的ok,但一段时间后,用户被自动抛出网站的登录页面,他必须再次登录。
发布于 2011-10-25 04:28:36
听起来你的用户遇到了cookie过期的问题。将以下属性添加到<forms>元素:
<forms defaultUrl="default.aspx" loginUrl="login1.aspx" cookieless="AutoDetect" slidingExpiration="true" timeout="60" />默认情况下,可变过期时间应该设置为true,但如果不是这样,在用户登录30分钟后,无论他们是否访问过其他网站页面,他们的身份验证都将过期。默认情况下,超时时间也应设置为自上次刷新起30分钟,因此,如果您的用户空闲了30分钟,他们将必须续订身份验证cookie才能访问受保护的内容。您可以将其扩展为您喜欢的任何值,例如上面示例中的"60“。
您可以在MSDN reference page上找到有关这些属性的更多信息。
https://stackoverflow.com/questions/7881164
复制相似问题