如何在asp.net中实现用户会话c#

时间:2010-11-13 11:50:54

标签: c# asp.net session

喜 让我解释一下这个场景。

我正在开发在线考试申请表。一旦用户登录系统,他就可以开始测试;在单击开始测试按钮时,用户被重定向到问题页面。现在,当用户通过点击按钮点击并确认测试结束时,他将被重定向到结果页面。

现在我想要的是,当显示结果页面时,用户应该自动退出系统,并且不能通过按浏览器的后退按钮返回到之前的页面。

我现在面临的问题是,当显示结果页面时,任何人都可以按后退按钮继续测试并操纵结果。我怎么能阻止这个。需要一个详细的解决方案。

4 个答案:

答案 0 :(得分:2)

您需要禁用页面缓存。按后退按钮时,浏览器将使用页面的缓存版本。如果禁用缓存,当浏览器操作后退机制时,它将确定需要再次获取页面,处理具有用户不再登录状态的页面。

答案 1 :(得分:2)

存储会话变量,例如currentQ,其中包含已回答的最新问题的ID。如果用户尝试回答之前回答的问题,请不要接受答案,而是将其重定向到正确的页面。

这也会阻止他在考试过程中使用“后退”按钮。

答案 2 :(得分:0)

您应该将登录用户存储在会话或cookie中。 如果用户已登录,结果页面应始终检查cookie或会话。 如果不是,结果页面将显示一些反馈信息。

答案 3 :(得分:0)

您可以做的最好方法是使用母版页或在每个页面上放置用户控件。 MasterPage / UserControl应检查当前会话(用户是否登录)。如果会话可用,那么它应该继续,否则它应该移动到登录屏幕。在结果页面,您可以清除会话值。

现在,如果用户按结果页面上的后退按钮,则页面(母版页或用户控件)将找不到会话,并将页面重定向到登录页面。

我希望这会对你有所帮助。