如何在Forms.Authentication和ReturnUrl之间插入确认对话框?

时间:2013-09-27 17:40:15

标签: c# asp.net dialog forms-authentication

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

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

到目前为止,我的尝试是将此添加到loggedIn事件中,其中sessionId被捕获并进行比较,但是一旦发生这一点,我尝试停止的事情还没有解决 - 用户被重定向通过我的确认对话框,没有任何实际触发。

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

1 个答案:

答案 0 :(得分:1)

你可能尝试的东西 - 使表单auth成为ajax调用,然后在客户端处理你的对话框。因此,例如,使用jquery拦截登录表单帖子,执行登录表单的ajax发布,获取json或其他内容,然后在客户端使用重定向弹出对话框。