I have developed a "web part" that has to be deployed on a Sharepoint server.开发者_如何学JAVA I need the username of the user, who has logged in the sharepoint server within the web part.
How do I get that username?
Following worked for me:
SPWeb theSite = SPControl.GetContextWeb(Context);
SPUser theUser = theSite.CurrentUser;
string strUserName = theUser.LoginName;
and check this out.
You can use:
SPWeb web = SPControl.GetContextWeb(this.Context);
string userName = web.CurrentUser.LoginName;
or
string userName = this.Context.User.Identity.Name;
And you should check this.Context.User.Identity.IsAuthenticated
as well to ensure there is a user logged in before trying to extract the username.
Hey all, i got the answer for my question Hope this will work for you all... First add a reference to the MicrosoftSharepoint.dll file in your web part. then write using Microsoft.SharePoint;
string username;
string sspURL = "URL where Sharepoint is deployed";
SPSite site = new SPSite(sspURL);
SPWeb web = site.OpenWeb();
SPUser user = web.CurrentUser;
username = user.LoginName;
site.AllowUnsafeUpdates = true;
Yours, Jigar <3
SPContext.Current.Web.CurrentUser
//don't forget to add System.DirectoryServices.AccountManagement as reference and using System.DirectoryServices.AccountManagement;
PrincipalContext insPrincipalContext = new PrincipalContext(ContextType.Domain, "MyDomain","DC=MyDomain,DC=com");
UserPrincipal insUserPrincipal = new UserPrincipal(insPrincipalContext);
insUserPrincipal.Name = "*";
PrincipalSearcher insPrincipalSearcher = new PrincipalSearcher();
insPrincipalSearcher.QueryFilter = insUserPrincipal;
PrincipalSearchResult<Principal> results = insPrincipalSearcher.FindAll();
foreach (Principal p in results)
{
Console.WriteLine(p.Name);
}
You can also get current logged user ID by _spPageContextInfo property.
_spPageContextInfo.userId
You will get current user's ID by _spPageContextInfo. Try this may help you.
精彩评论