2010-02-02 5 views
2

J'utilise formes de ASP.Net authentification, mais ne veulent pas le comportement par défaut de redirection vers une page de connexion lorsqu'une zone d'accès restreint est accessible. Au lieu de cela, je voudrais appeler une boîte de dialogue JQuery javascript pour la connexion sur la page en cours, empêchant le chargement du contenu.ASP.NET authentification par formulaire sans Redirect

Mon seul problème est que par défaut l'authentification par formulaires veut rediriger.

Y at-il un gestionnaire que je peux accrocher dans, ou une autre option pour empêcher la redirection?

Répondre

2

Oui, si vous traitez avec la possibilité de révision JQuery d'utiliser ASP.Net standard ajax orienté Sys.Services.AuthenticationService.

+0

Il n'a rien à faire avec jQuery. Mais +1 pour 'Sys.Services.AuthenticationService'. C'est le chemin à parcourir. –

0

Vous voudrez peut-être regarder dans le contrôle LoginView. Cela vous permet de définir différents modèles pour les utilisateurs anonymes et les utilisateurs qui se sont connectés. Il utilise toujours l'authentification ASP.NET, ce qui vous permet de conserver votre authentification basée sur les formulaires actuels.

3

En plus de Dewfy:

Ajoutez ce qui suit à votre web.config:

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

Vous pouvez maintenant appeler le service d'authentification à partir de JavaScript comme:

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()); 
} 
Questions connexes