2016-04-25 1 views
-4

je suis arrivé webforms hébergé par IISObtenir des informations utilisateur de répertoire actif asp.net WebForms C#

Vous pouvez vous connecter à ce site webform en utilisant le nom d'utilisateur du répertoire actif et le mot de passe

Comment puis-je obtenir les autres informations de cet utilisateur comme nom et prénom du répertoire actif ceci est mon code courant dans la charge de page après un journal de succès.

protected void Page_Load(object sender, EventArgs e) 
     { 
    FormsIdentity id = (FormsIdentity)User.Identity; 
     FormsAuthenticationTicket ticket = id.Ticket; 
     Response.Write("<p/>TicketName: " + ticket.Name); //this ticket.name is the current username logged to the form 
     Response.Write("<br/>Cookie Path: " + ticket.CookiePath); 
     Response.Write("<br/>Ticket Expiration: " + 
         ticket.Expiration.ToString()); 
     Response.Write("<br/>Expired: " + ticket.Expired.ToString()); 
     Response.Write("<br/>Persistent: " + ticket.IsPersistent.ToString()); 
     Response.Write("<br/>IssueDate: " + ticket.IssueDate.ToString()); 
     Response.Write("<br/>UserData: " + ticket.UserData); 
     Response.Write("<br/>Version: " + ticket.Version.ToString()); 
     } 

informations complémentaires, j'utiliser le mode d'authentification = « Forms » dans le web. config framework 4.0

+0

quelque chose de vraiment anguille sous roche. ils ont marqué ma propre réponse. cette réponse peut aider beaucoup de gars dans le futur. quelque chose ne va pas dans ce forum. ils continuent à signaler toutes les questions et maintenant ma réponse. – listojay

Répondre

0

Essayez d'utiliser PrincipalContext. Par exemple, pour vérifier le mot de passe de l'utilisateur manuellement, vous pouvez utiliser ce code:

using (var context = new PrincipalContext(ContextType.Domain, "MyAdName")) 
{ 
    var isValidUser = context.ValidateCredentials(model.UserName, model.Password); 
    if (!isValidUser) 
    { 
    //Do the staff 
    } 
} 

Vous pouvez trouver ce que vous voulez dans context.

Et, s'il vous plaît vérifier ce post: get first name last name of logedin windows user?

+0

dans votre code. quel est le modèle? dose modèle n'existe pas dans le contexte actuel. Ai-je besoin d'importer quelque chose? merci .. model.UserName, model.Password – listojay

+0

model.Username, model.Password sont des données d'entrée de ma vue (formulaire) .vous pouvez passer tout ce dont vous avez besoin. –

+0

Je pense que votre code est une fonction statique. pas de réponse complète. mais de toute façon j'ai eu l'idée de votre code. Je vous remercie. – listojay