J'ai un <asp:Wizard>
qui s'applique uniquement à un utilisateur déconnecté. Si l'utilisateur est actuellement connecté, il est redirigé vers une autre page. Dans l'une des étapes de l'assistant, dans le cadre de l'assistant, je demande des informations d'identification via le contrôle <asp:Login>
et je me connecte à l'utilisateur. Cela présente un problème. "Lorsqu'un utilisateur utilise le contrôle de connexion pour se connecter à un site Web, toutes les données de l'état d'affichage et toutes les données de publication sont perdues.N'effectuez pas d'actions dans l'événement LoggedIn qui dépendent de l'état d'affichage. " À cause de cela, mon Assistant Wizard oublie l'étape à laquelle il se trouve après le processus de connexion. MSDN recommends: "Si vous incorporez le contrôle Login dans un objet WizardStep, définissez explicitement la propriété ActiveStepIndex dans un gestionnaire d'événements Page_Load si l'utilisateur est authentifié.Le contrôle Wizard ne passe pas automatiquement à l'objet WizardStep suivant dans ce scénario." Toutefois, étant donné que tout l'état d'affichage est perdu, la redirection des utilisateurs connectés intervient, ce qui renvoie l'utilisateur hors de la page. Quelle est la meilleure façon de déterminer, au chargement de la page, dans quels états se trouve l'utilisateur?Identifier la publication à partir d'un contrôle de connexion ASP.NET
- Déjà connecté il y a longtemps; doit être redirigé.
- Était juste connecté depuis l'intérieur de l'assistant; doit atteindre l'étape suivante de l'assistant.
Merci pour vos idées.
La vérification de time-since-login semble être la voie la plus évidente, mais ce n'est pas tout à fait infaillible, donc je préfère une autre solution. Un utilisateur peut se connecter, puis visiter immédiatement cette page, donc la valeur devrait être plus de 3 secondes (pour attraper les utilisateurs rapides), et même alors, une page à chargement lent pourrait manquer la fenêtre, causant la redirection non désirée. – ChessWhiz
Ensuite, ajoutez un événement au contrôle de connexion qui est autorisé et laissez seulement ce login définir un objet de session pour empêcher la redirection – Willem
Cela fonctionnerait, mais c'est un peu plus complexe que la solution que j'ai posté. Merci pour l'idée, cependant! – ChessWhiz