Re: How to get user id guid



Hi Joe,
I found the information I needed to use the secur32 dll but when I try to
convert the username to a unique id, it's always blank. Here's the code I
use:

///////////////////////////////////////////////////////////////////////////////
#region setup call to dll
[Flags]
public enum EXTENDED_NAME_FORMAT
{
NameUnknown = 0,
NameFullyQualifiedDN = 1,
NameSamCompatible = 2,
NameDisplay = 3,
NameUniqueId = 6,
NameCanonical = 7,
NameUserPrincipal = 8,
NameCanonicalEx = 9,
NameServicePrincipal = 10,
NameDnsDomain = 12
}
///////////////////////////////////////////////////////////////////////////////
[DllImport("secur32", CharSet=CharSet.Auto, SetLastError=true)]
static extern bool TranslateName(string lpAccountName,
EXTENDED_NAME_FORMAT AccountNameFormat, EXTENDED_NAME_FORMAT
DesiredNameFormat, System.Text.StringBuilder lpTranslatedName, ref int nSize);
#endregion

///////////////////////////////////////////////////////////////////////////////
string PrintName(string userName, EXTENDED_NAME_FORMAT fromFmt)
{
StringBuilder translatedName = new StringBuilder(256);
int nSize = translatedName.Capacity;
if (!TranslateName(userName, fromFmt,
EXTENDED_NAME_FORMAT.NameUniqueId, translatedName, ref nSize))
return Marshal.GetLastWin32Error().ToString();
else
return translatedName.ToString();
}

///////////////////////////////////////////////////////////////////////////////
protected void Page_Load(object sender, EventArgs e)
{
string username = HttpContext.Current.User.Identity.Name;
Response.Write(PrintName(username,
EXTENDED_NAME_FORMAT.NameDnsDomain));
}

///////////////////////////////////////////////////////////////////////////////

My web site is using Integrated Windows authentication with Digest
authentication selectec and Anonymous access off.

I appreciate any ideas you might have.

Thanks for you help,
-Keith

"Joe Kaplan (MVP - ADSI)" wrote:

You might consider p/invoking the TranslateName API or something like that.

Agreed that if you want to use the authenticated user's credentials to
access AD via LDAP, you will need Kerberos delegation and that can be a
little painful at times. It is definitely possible though.

Joe K.

"Keith Harris" <KeithHarris@xxxxxxxxxxxxxxxxxxxxxxxxx> wrote in message
news:9BA9064F-1EA0-45CB-878F-A5B57F2A492B@xxxxxxxxxxxxxxxx
Hi

I am developing a SSO web part between a SharePoint site and my web
application. I would like to accomplish this by passing the guid of the
currently logged on user to the target web site.

It seems the only way to get this id is by performing an AD lookup for the
current logged in user. Is that correct or am I missing something?

Because of the difficulty in setting up DirectoryServices access from an
SPS
web part, I would like to discover an easier way of doing this.

Any help is greatly appreciated.
Thanks.



.



Relevant Pages

  • RE: How to tell WebBrowser control what credentials to use?
    ... Does the browser implement the IProfferService ... In cases of WinForms authentication I can use code similar to the following. ... I can do the same in a login form entering the username ... there're two kinds of authentication modes for web site. ...
    (microsoft.public.dotnet.framework.windowsforms)
  • Re: Http Help please
    ... > download a file from the web. ... there is a ASP/ASP.NET username and ... enter a user name and password (as opposed to an authentication dialog that ... session ID or cookie or whatever the Web site uses to say "you're logged in" ...
    (microsoft.public.vb.general.discussion)
  • Re: IIS logon
    ... have the same string as their domain account and does it have the same ... Does the user log on to their computer using the same domain and username ... In IE on the user's computer, what security zone is the web site in? ... Which authentication options are enabled in IIS for your website? ...
    (microsoft.public.inetserver.iis.security)
  • RE: Web Forms Auth fails when rfValidator triggered
    ... © 2002 Microsoft Corporation. ... | Content-Type: text/plain ... | | basically has a username field, ... | | If I enter garbage text in BOTH fields, the authentication ...
    (microsoft.public.dotnet.framework.aspnet.security)
  • RE: Adding a virtual FTP folder to IIS
    ... I think we can follow the Form Authentication modal. ... application will use the ASPNET account. ... If we change the username ... Windows identity different from that of the default process identity. ...
    (microsoft.public.dotnet.framework)