Bonjour à tous,
Question #1 :
Je conçoit un site qui requiert un authentification avant d'y avoir accès. La classe de la page de login (default.aspx et default.aspx.cs) dérive directement de System.Web.UI.Page.
Pour toutes les autres pages, elles dérivent d'une classe que j'ai conçu. Voici cette classe :
Donc, si un utilisateur essais d'accéder à une page sécurisé et que cet utilisateur n'est pas autentifié alors il sera redirigé directement vers la page de login.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 public class BaseForm : Page { protected override void OnInit(EventArgs e) { if (HttpContext.Current.Session != null && HttpContext.Current.Session["Client"] == null) { Response.Redirect("~/Default.aspx"); } base.OnInit(e); } }
Voilà un exemple de la classe d'une page sécurisée :
Jusqu'ici tout fonctionne TRÈS BIEN et le problème n'est pas là.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 public partial class MenuPrincipal : BaseForm { protected void Page_Load(object sender, EventArgs e) { ... } }
Si un utilisateur constulte cette page et que sa session prend fin au bout de 20 minutes d'innactivité il sera alors redirigé vers la page de login et l'utilistateur aura perdu tout ce qu'il avait entré sur la page
À présent, y-a-t-il moyen d'éviter que l'utilisateur perde le contenu des champs qu'il a entré juste en l'avertissant qu'il doit se reconnecter et ensuite automatiquement ré-effectuer l'action qu'il tentait de faire précédemment ?
J'ai vu cela sur le forum de Developpez il me semble.
Question #2 :
Maintenant, imaginons qu'une de mes pages sécurisées contienne un UpdatePanel. Si un erreur survient lors de l'update de cette UpdatePanel alors il lui sera retourner un erreur qui sera affichée à l'aide d'un window.alert (comme AJAX à l'habitude de le faire). Prenons par exemple la colonne d'une grille à laquelle j'ai volontairement affecté une mauvaise expression de sorting, voilà l'erreur que j'ai à l'écran lorsque je tente de trier cette grille selon cette colonne. (Voir Erreur.JPG)
Merci pour votre aide.
Partager