【发布时间】:2012-06-01 04:06:09
【问题描述】:
我正在 ASP.NET MVC 3 中构建 Web 门户,它使用远程 Web 服务作为与数据库通信的唯一方式。 Web 服务要求始终在请求标头中传递用户名/密码,否则它会拒绝调用。
我已经覆盖了 ASP.NET Membership,以便我的 ValidateUser 方法将用户名/密码发送到 Web 服务登录方法,如果身份验证成功则返回 true/false。它与 MVC 3 Empty Internet 模板提供的 AcountController 配合使用非常好。由于我必须在每次 Web 服务调用时传递用户名/密码,因此我将它们保存在 Session 中。
我的问题是:
如果我关闭浏览器并重新打开它...我仍然登录到网站,但我的 Session 变量已过期,因此即使我仍然使用凭据登录,我对 Web 服务的请求都不会被接受。
我正在寻找如何将用户登录状态与会话状态同步的好建议。要么让它们都保持持久性直到使用注销,要么让它们都在浏览器关闭时处理。
感谢所有建议:)
【问题讨论】:
标签: asp.net asp.net-mvc-3 web-services membership-provider