ASP.NET无需重定向验证请求

时间:2014-07-11 15:44:42

标签: c# javascript asp.net telerik forms-authentication

我无法弄清楚如何做一些我认为在ASP.NET Web窗体应用程序中非常常见的事情。

它是一个非常标准的应用程序,具有常规输入(下拉列表,文本编辑器等),我们希望确保用户尝试操作时(例如单击"保存"按钮)在他们的编辑之后,如果他们在他们不知情的情况下退出(会话过期,缓存被清除等),他们输入的数据不会丢失。

我们使用Telerik的ASP.NET Web窗体控件,我们的第一个解决方案是劫持RadAjaxManager的OnRequestStart事件,以及几个内置的Telerik javascript事件(覆盖Telerik事件以点击按钮,删除 - 打开等等)以确保我们的身份验证检查几乎可以在整个应用程序中的每个操作上进行。然后,我们从这些函数调用同步Ajax请求到web方法,该方法返回用户当前是否经过身份验证。如果他们不是,我们在javascript中停止当前请求并弹出登录窗口,以便不重定向当前页面。

我们没有先见之明地做到这一点,这个网络服务可能会有成千上万的请求,这实际上以惊人的方式破坏了应用程序。我一直在探索其他选项,比如在Global.asax中使用Application_AuthenticateRequest事件,但到目前为止还没有运气。

Web服务解决方案在理论上是理想的,只要它没有使应用程序陷入火热,无反应的死亡......!有什么想法可以指出我正确的方向吗?提前感谢您的帮助。

0 个答案:

没有答案