4

J'essaie de me connecter de manière transparente sans demander d'informations d'identification dans le cadre d'un processus <asp:Wizard>. Ma stratégie consiste à gérer l'événement NextButtonClick et à se connecter à l'utilisateur dans le code. J'ai déjà les informations d'identification de l'utilisateur enregistrées dans les variables de session.Exécution d'un abonnement ASP.NET Connexion à partir de codebehind dans le gestionnaire de clic sur le bouton

Est-il possible de se connecter à un utilisateur avec du code? Un contrôle <asp:Login> caché dans les coulisses sera-t-il nécessaire?

+0

Vous utilisez l'authentification des formulaires/Configuration une sorte d'utilisateur vérifié drapeau etc? – brumScouse

+0

duplication possible de [connexion par programme avec le fournisseur d'appartenance .net] (http://stackoverflow.com/questions/243851/programmatic-login-with-net-membership-provider) –

Répondre

7

Si vous stockez leurs informations d'identification en session, j'espère que vous les chiffrez.

Mais oui, si vous avez leurs informations d'identification déjà, vous pouvez faire:

FormsAuthentication.SetAuthCookie(username, true); 

Vous pouvez également exécuter:

if(Membership.ValidateUser(username, password)) { 
    FormsAuthentication.SetAuthCookie(username, true); 
} 

avant la main pour vous assurer que vous avez le nom d'utilisateur et mot de passe .

+0

Je suis sûr que tout ce que vous mettez dans Session peut être piraté et donc stocker des choses comme des informations de carte de crédit ou des mots de passe est une mauvaise idée. –

+0

Pour la sécurité de session, voir: http://stackoverflow.com/questions/4027023/does-sensitive-asp-net-session-data-need-to-be-encrypted – ChessWhiz

+0

Fonctionne parfaitement. Merci. – ChessWhiz

2
// This will redirect the user (check Jack Marchetti's answer for other option) 
FormsAuthentication.RedirectFromLoginPage(txtUsername.Text, false); 

Cela émettra le ticket d'authentification pour l'utilisateur

1

Si vous utilisez FormsAuthentication alors émettre juste un cookie de session:

// pass true to create a persistent cookie 
FormsAuthentication.SetAuthCookie("userNameHere", true);