没有重定向的ASP.NET窗体身份验证

时间:2010-02-02 16:02:20

标签: asp.net security authentication forms redirect

我正在使用 ASP.Net的表单身份验证,但不希望在访问受限区域时重定向到登录页面的默认行为。相反,我想为当前页面上的登录调用javascript JQuery对话框,防止加载后面的内容。

我唯一的问题是默认情况下,表单身份验证要重定向。

我可以加入处理程序,还是阻止重定向的其他选项?

3 个答案:

答案 0 :(得分:3)

除了Dewfy:

将以下内容添加到您的web.config:

<system.web.extensions>
    <scripting>
      <webServices>
        <authenticationService enabled="true" />    
      </webServices>
    </scripting>
  </system.web.extensions>

您现在可以从JavaScript调用身份验证服务,如:

 Sys.Services.AuthenticationService.login("username",
    "password", false, null, null, loginCompleted, loginFailed, "");

 function loginCompleted()
 {
     var loginSuccessful = Sys.Services.AuthenticationService.get_isLoggedIn();
     if(loginSuccessful) /* do stuff */
 }

 function loginFailed(result, userContext, method)
 {
     alert('Exception ' + result.get_message());
 }

答案 1 :(得分:2)

是的,如果你处理JQuery审查的可能性,使用标准的ASP.Net ajax导向 Sys.Services.AuthenticationService

答案 2 :(得分:0)

您可能需要查看LoginView控件。这允许您为已登录的匿名用户和用户设置不同的模板。它仍然使用ASP.NET身份验证,因此您可以保留当前基于表单的身份验证。