【发布时间】:2015-06-19 02:47:28
【问题描述】:
我对在 asp.net Web 应用程序中的会话实现感到非常困惑。我的逻辑是一旦用户输入用户名+密码,我验证凭据,然后使用一些用户信息创建一个新会话除非他/她经过身份验证,否则访问这些资源]。我会在每个请求和其余请求上验证这一点。这是我的问题。我在网站上有很多地方都有 html 链接,如果我有这样的链接,我会读到
<a href='resource1.aspx'>resource 1</a>
这将生成一个新的会话 id,因此实际上使现有的会话 id 无效,在我的情况下,这将被视为会话过期并且用户被发送到登录页面。在阅读这个问题时,我遇到了一个 asp.net API 方法[
Response.ApplyAppPathModifier(url);
] 将会话 ID 添加到每个请求,从而解决每个链接的新会话 ID 生成。虽然它解决了会话中断问题,但它确实在所有 url 旁边添加了会话 ID,现在可以在源代码中看到会话 ID(查看网页源代码)。我真的不想使用 cookie 并且想将会话用于用户会话...有人可以帮我创建一个可以按照我希望的方式工作的系统吗?如果我做的完全不正确,我真的很感激详细的讨论,如果可能的话,可以举一些例子……非常感谢你……
【问题讨论】:
-
是什么让你认为 标签会生成一个新的会话 id?
-
您为什么要实施会话?已经有一个
Session类正是为此目的而构建的(并且不会通过单击链接而失效,因为它是基于 cookie 的)。