WindowsPrincipal wp = new WindowsPrincipal(WindowsIdentity.GetCurrent());
bool IsInAdministrators= wp.IsInRole(WindowsBuiltInRole.Administrator);

if (IsInAdministrators) 
{
MessageBox.Show("You are in Administrators Group");
}

解决方案 »

  1.   

    谢谢龙人,但有两个问题:
    1 自定义的组如何处理;
    2 在ASP.net中的bool Page.User.IsInRole(String role)只有一种形式,该怎么办?
      

  2.   

    authorization>
                <allow users="*" /> <!-- Allow all users -->
                <!-- Allow or deny specific users.
                allow users="[comma separated list of users]"
                      roles="[comma separated list of roles]"/>
                <deny users="[comma separated list of users]"
                      roles="[comma separated list of roles]"/>
                -->
            </authorization>
    你那里是webForm的验证吧
    设定Web.Config中的authorization
    然后IsInRole(填写上面声明的role)
      

  3.   

    关于配置节信息
    参考
    ms-help://MS.VSCC/MS.MSDNVS.2052/cpgenref/html/gngrfaspnetconfigurationsectionschema.htm
      

  4.   

    可是如果我用以下的配置,用属于Adimistrators组的用户也不能通过验证了。
        <authorization>
    <allow roles="ComputerName\Adminstrators" />
    <deny users="*" />
        </authorization> 

        <authorization>
    <allow roles="Admins" />
    <deny users="*" />
        </authorization>
      

  5.   

    参考
    ms-help://MS.VSCC/MS.MSDNVS.2052/cpguide/html/cpcontheformsauthenticationmodule.htm
      

  6.   

    string sRoleName = "ComputerName\Administrators";
          bool bIsAdmins = User.IsInRole(sRoleName);      if(bIsAdmins)
          {
            spnIsAdministrator.InnerText = " true";
          }
          else
          {
            spnIsAdministrator.InnerText = " false";
          }另外我用的是
    <authentication mode="Windows" /> 
    不是
    <authentication mode="Forms" /> 
      

  7.   

    属性 选项 说明 
    mode     控制应用程序的默认身份验证模式。 
        Windows 将 Windows 验证指定为默认的身份验证模式。当使用以下任意形式的 Internet 信息服务 (IIS) 身份验证时使用该模式:基本、简要、集成的 Windows 验证 (NTLM/Kerberos) 或证书。 
        Forms 将 ASP.NET 基于窗体的身份验证指定为默认的身份验证模式。 
        Passport 将 Microsoft Passport 身份验证指定为默认的身份验证模式。 
        None 不指定任何身份验证。只有匿名用户是预期的或者应用程序可以处理事件以提供其自身的身份验证。 
    而在Web From中运行的身份应该是
    那个IUSR_DRAGONTT用户,这可不是Administors中的用户哦
    你把IIS中,这个虚拟目录的允许匿名访问关掉
    设为window集成验证
    试试
      

  8.   

    谢谢龙人,但我一直都是设为window集成验证,关掉了允许匿名访问。