2010-03-03 5 views
1

J'ai une application web qui utilise l'authentification par formulaire et j'ai restreint un dossier pour que seuls ceux qui ont un rôle d'administrateur puissent y accéder. Je contrôle tout cela à travers le fichier web.config et en ajoutant les balises de localisation appropriées pour restreindre l'accès.Comment afficher un message dans une redirection Asp.NET Forms Authentication?

Actuellement, l'application fonctionne correctement. Si je suis connecté en tant qu'utilisateur et que je clique sur le lien vers la section d'administration, je suis de nouveau redirigé vers la page de connexion. Si je regarde l'URL, le paramètre ReturnUrl est correctement défini. Ce que je voudrais faire est d'afficher un message à l'utilisateur indiquant des privilèges de sécurité insuffisants, ou quelque chose à cet effet afin que l'utilisateur ne pense pas qu'ils sont déconnectés de l'application prématurément ou que l'application est isn ne travaille pas.

Est-ce que quelqu'un connaît un moyen de le faire?

Répondre

1

Vous pouvez rediriger vers une page qui affiche une zone d'alerte et qui (sur le client) redirige vers la page à laquelle vous souhaitez accéder.


J'ai donné aucun exemple de code parce que je n'ai pas le temps maintenant pour obtenir ce droit. Voici le code erroné:

if (FormsAuthentication.Authenticate(userName, passWord)) 
{ 
    Response.Redirect("alertPage.html?ReturnUrl=" + Request.QueryString["ReturnUrl"]); 
} 

sur alertPage.html:

<script language="javascript"> 
    alert('Some message'); 
    window.navigator.location = // get the URL and use it 
</script> 
+0

Toute façon de lancer un petit code d'échantillon sur cette réponse? Je suis sûr que je vous suis, mais je ne suis pas sûr à 100%. –

+0

@ Dillie-O: Je pensais que c'était évident! –

+0

Hmm, peut-être que je devrais mettre à jour le texte. La chose que j'ai oublié de mentionner est que je contrôle l'accès à la section admin en utilisant le fichier web.config. Cela change-t-il les choses? –

Questions connexes