我正在使用 ASP.Net的表单身份验证,但不希望在访问受限区域时重定向到登录页面的默认行为。相反,我想为当前页面上的登录调用javascript JQuery对话框,防止加载后面的内容。
我唯一的问题是默认情况下,表单身份验证要重定向。
我可以加入处理程序,还是阻止重定向的其他选项?
答案 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身份验证,因此您可以保留当前基于表单的身份验证。