2

我正在改进 ASP.net webforms 应用程序(依赖于 Forms.Authentication)的身份验证系统,以将每个用户限制为单个浏览器会话。为了支持这一点,我创建了一个新的 IHttpModule,它使用应用程序变量来维护将 userId 映射到会话的字典,以本文为模式。

所有这些都工作得很好,但是我们还想添加一个组件:登录成功后显示一个确定/取消对话框,警告用户如果他们继续,他们的第一个会话将被关闭。如果他们选择取消,那么我们需要中断登录过程,而不会将用户发送到通过 Forms.Authentication 设置的 returnUrl。

到目前为止,我的尝试一直是将其添加到loggedIn事件中,在该事件中捕获并比较 sessionId,但是一旦发生这一点,我试图停止事情的尝试并没有成功——用户被重定向通过我的确认对话框,而没有任何实际触发.

因此问题是:如何在 Authentication.Forms 的登录过程中插入确认对话框?

4

1 回答 1

1

您可能会尝试的东西 - 使表单身份验证成为 ajax 调用,然后在客户端处理您的对话。因此,例如,使用 jquery 拦截登录表单发布,对登录表单进行 ajax 发布,获取 json 或其他内容,然后在客户端弹出带有重定向的对话框。

于 2013-09-27T21:05:49.250 回答