我在下面有一个超时,并想确保它正常工作:
我的 web.config 文件中有以下内容:
<system.web>
<authentication mode="Forms">
<forms loginUrl="SVideo/Login.aspx" timeout="2" slidingExpiration="true" />
</authentication>
<authorization>
<allow users="*" />
</authorization>
</system.web>
对于登录页面,我有以下代码(请注意,我使用的是 asp.net 附带的登录控件:
protected void LoginUser_LoggedIn(object sender, EventArgs e)
{
var roles = Roles.GetRolesForUser(LoginUser.UserName);
if (roles.Contains("StUser"))
{
const string url = "~/SVideo/WatchLive/Watstream.aspx";
Response.Redirect(url);
}
else
{
lblMessage.Text = "Wrong UserName/Pwd Combination";
}
}
更新:请注意,在 SVideo 文件夹中,我确实有以下代码:
在 SVideo 内部,我有以下代码:
<?xml version="1.0"?>
<configuration>
<system.web>
<authorization>
<allow users="*" />
</authorization>
</system.web>
</configuration>
在 SVideo/WatchLive 我有以下代码:
<?xml version="1.0"?>
<configuration>
<system.web>
<authorization>
<allow roles="StUser" />
<deny users="*" />
</authorization>
</system.web>
</configuration>
我的问题是,当用户在被验证为 StUser 角色的一部分后转到 Watstream.aspx 时,我希望页面在没有活动后 2 分钟后超时,因为这是我所拥有的超时时间。相反,即使在 2 分钟后,我也没有收到超时消息。
另请注意,我的目标实际上是在 2 天后让它超时,但我这样做只是为了确保在 2 分钟内它完成了我预期的操作。