2009-10-01 11 views
1

J'ai une partie Web qui présente un utilisateur sur SharePoint avec un simple bouton. En cliquant sur le bouton, je connecte l'utilisateur qui l'a cliqué, l'heure et leur adresse IP. Le bit que je n'arrive pas à comprendre est comment trouver leur adresse IP? Puis-je y accéder via le modèle d'objet SharePoint ou dois-je faire quelque chose de plus compliqué?Comment trouver l'adresse IP d'un utilisateur sur SharePoint

private bool SignInCurrentUser() 
     { 
      SPWeb web = SPContext.Current.Web; 
      SPUser user = web.CurrentUser; 
      String address = "?"; 

      SPList regList = web.Lists["SEED MEng Lab Registration List"]; 

      SPListItem registration = regList.Items.Add(); 
      registration["Student"] = user; 
      registration["Occurrence"] = DateTime.Now; 
      registration["IP Address"] = address; 
      registration.Update(); 

      return true; 
     } 
+0

Similaire: http://stackoverflow.com/questions/735350/how-to-get-user-client-ip-address-in-asp-net –

+0

J'ai fait une erreur dans mon code que j'ai édité . SharePoint pratique vous disposez de SPWeb et autres lorsque vous les utilisez. Dans ce cas, ne le faites pas. Vous ne créez pas le SPWeb ici, seulement en y faisant référence. Essayer de se débarrasser de SPWeb dans une telle fonction ne fera que gâcher votre session. –

Répondre

2

Je ne pense pas que cela est exposé par l'API SharePoint, mais les techniques standard ASP.NET (voir one et two) devrait le faire.

Essayez HttpRequest.UserHostAddress.

+0

On peut y accéder via Context.Request.UserHostAddress à l'intérieur d'un webpart. Merci –

0

Essayez System.Web.UI.Page.Request.UserHostAddress.

Questions connexes