在线托管后的会员问题

时间:2011-10-24 19:53:04

标签: asp.net asp.net-membership

我有一个购物车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); 

将用户重定向到主页,它在我的本地系统上工作得非常好,我没有问题。但最近我在线托管了我的应用程序,我的登录系统存在一些问题。当我登录该网站时,它还可以一段时间后,用户被自动从站点中抛出到登录页面,他必须再次登录。

1 个答案:

答案 0 :(得分:0)

听起来您的用户正在碰到Cookie过期。将以下属性添加到<forms>元素:

<forms defaultUrl="default.aspx" loginUrl="login1.aspx" cookieless="AutoDetect" slidingExpiration="true" timeout="60" />

默认情况下,滑动过期应该设置为true,但如果不是,则在用户登录30分钟后,无论他们自那时以来是否访问过其他网站页面,其身份验证都将过期。默认情况下,超时时间也应该设置为从上次刷新起30分钟,因此如果您的用户空闲30分钟,他们将不得不更新身份验证cookie以访问安全内容。您可以将其扩展为您喜欢的任何值,例如上例中的“60”。

您可以在MSDN reference page找到有关这些属性的更多信息。