Re: How do I check for domain group membership?

From: carion1 (ddavis76_at_gmail.com)
Date: 09/29/05

  • Next message: Dominick Baier [DevelopMentor]: "Re: How do I check for domain group membership?"
    Date: Thu, 29 Sep 2005 16:09:59 -0500
    
    

    Not sure what happened with the other post...

    AppDomain.CurrentDomain.SetPrincipalPolicy(PrincipalPolicy.WindowsPrincipal);
    WindowsPrincipal p = (WindowsPrincipal) Thread.CurrentPrincipal;
    WindowsIdentity i = (WindowsIdentity) p.Identity;
    if(p.IsInRole(@"Galactic\IT"))
    doit();

    -- 
    Derek Davis
    ddavis76@gmail.com
    "carion1" <ddavis76@gmail.com> wrote in message 
    news:%23trvlnTxFHA.3860@TK2MSFTNGP09.phx.gbl...
    > The following works.
    >
    > public static void Main(string [] args)
    > {
    > AppDomain.CurrentDomain.SetPrincipalPolicy(PrincipalPolicy.WindowsPrincipal); 
    > WindowsPrincipal p = (WindowsPrincipal) Thread.CurrentPrincipal; 
    > WindowsIdentity i = (WindowsIdentity) p.Identity; 
    > if(p.IsInRole(@"Galactic\IT"))  doit();}--Derek 
    > Davisddavis76@gmail.com"Byron" <Byron@discussions.microsoft.com> wrote in 
    > messagenews:9C75F012-5E70-4D48-8EBE-0489D39BFF28@microsoft.com...> Thanks 
    > for the reply, but even when it is changed to:>> if ( 
    > prin.IsInRole(@"GTI\ILF_Installer") )> 
    > Console.WriteLine("ILF_Installer");>> it still fails the check even though 
    > I know I'm a member of that domain> universal security group.  Since my 
    > name comes back as "GTI\UserName" I'm> sure I'm logged into the right 
    > domain.>> Can you think of anything else that could be causing an issue?>> 
    > "Dominick Baier [DevelopMentor]" wrote:>>> Hello Byron,>>>> you have to 
    > use the fully qualified group name - which 
    > isDOMAIN\GroupName>>>> --------------------------------------->> Dominick 
    > Baier - DevelopMentor>> http://www.leastprivilege.com>>>> > I have a 
    > WinForm app that will run on XP boxes in a Win2003 AD domain>> > named 
    > "GTI.int".  I have several Universal security groups named>> > "ILF_x", 
    > one of which is "ILF_Installer" and I have made myself a>> > member of 
    > that group for development.  There are arrays of security>> > group names 
    > associated with menu items along with other things that>> > should be 
    > enabled or disabled based on security group membership,>> > though my 
    > example code only uses the one group "ILF_Installer" for>> > testing.  I 
    > need a method that will iterate the array of acceptable>> > security group 
    > names and return true if the current user is a member>> > of at least one 
    > group, or false otherwise.>> >>> > I have tried the below listed code 
    > without success to test for my>> > membership in the "ILF_Installer" 
    > group.>> >>> > As always, any help would be greatly appreciated.>> >>> 
    >  > --------------------- SNIP>> 
    >  > -------------------------------------------------------------->> > 
    > AppDomain myDomain = Thread.GetDomain();>> > 
    > myDomain.SetPrincipalPolicy(PrincipalPolicy.WindowsPrincipal);>> > 
    > WindowsPrincipal prin = (WindowsPrincipal)Thread.CurrentPrincipal;>> >>> > 
    > Console.WriteLine("Principle:" + prin.Identity.Name);>> >>> > // The 
    > preceding line correctly displays GTI\MyUserName>> >>> > if ( 
    > prin.IsInRole("ILF_Installer") )>> > Console.WriteLine("ILF_Installer");>> 
    >  > // The preceding block does NOT display "ILF_Installer" as desired.>> 
    >  > -------------------------------- SNIP>> 
    >  > ------------------------------------------>> >>>>>>>
    > 
    

  • Next message: Dominick Baier [DevelopMentor]: "Re: How do I check for domain group membership?"

    Relevant Pages

    • Re: How do I check for domain group membership?
      ... Dominick Baier - DevelopMentor ... > member of that group for development. ... There are arrays of security ... > security group names and return true if the current user is a member ...
      (microsoft.public.dotnet.security)
    • Check group member ship or a user
      ... You have to construct a WindowsPrincipal object for that user. ... In Console/WinForms apps you get the current logged on user with ... WindowsIdentity id = WindowsIdentity.GetCurrent; ... but this way the user has to be a member of this group ...
      (microsoft.public.dotnet.security)
    • Re: Problem checking users role
      ... You shouldn't need to cast the class to check IsInRole. ... IsInRole is a member of the IPrincipal interface which is ... not the WindowsIdentity class. ...
      (microsoft.public.dotnet.security)
    • Re: Problem checking users role
      ... all the local groups in it, and a lot of entries are NOTHING. ... the isinrole function is taking a long time and it is always ... IsInRole is a member of the IPrincipal interface which ... > implemented by the WindowsPrincipal class, not the WindowsIdentity class. ...
      (microsoft.public.dotnet.security)
    • Problem solved
      ... I'm keeping the stuff about reflection for my notes - ... IsInRole is a member of the IPrincipal interface which ... > implemented by the WindowsPrincipal class, not the WindowsIdentity class. ... If you set up Forms authentication, ...
      (microsoft.public.dotnet.security)