我正在修改ASP.net webforms应用程序(依赖于Forms.Authentication)的身份验证系统,以将每个用户限制为单个浏览器会话。为了支持这一点,我创建了一个新的IHttpModule,它使用一个应用程序变量来维护一个将userId映射到会话的字典,在this article之后进行模式化。
所有这些都很有效,但还有一个我们想要添加的组件:登录成功后显示ok / cancel对话框,警告用户第一个会话将继续关闭。如果他们选择取消,那么我们需要中断登录过程而不将用户发送到通过Forms.Authentication设置的returnUrl。
到目前为止,我的尝试是将此添加到loggedIn
事件中,其中sessionId被捕获并进行比较,但是一旦发生这一点,我尝试停止的事情还没有解决 - 用户被重定向通过我的确认对话框,没有任何实际触发。
因此问题:如何在Authentication.Forms的登录过程中插入确认对话框?
答案 0 :(得分:1)
你可能尝试的东西 - 使表单auth成为ajax调用,然后在客户端处理你的对话框。因此,例如,使用jquery拦截登录表单帖子,执行登录表单的ajax发布,获取json或其他内容,然后在客户端使用重定向弹出对话框。