C# 使用C启用单点登录#

C# 使用C启用单点登录#,c#,single-sign-on,C#,Single Sign On,我正在做一个C#应用程序,它在登录时将在Windows7终端上启用单点登录(SSO)。我尝试过在这个网站上发现的关于制作GPO的东西,但我无法安装制作GPO代码所需的gpmgmt 1.0类型库,因为它与我的Windows不兼容 任何人都有一个建议,我可以如何使这项工作使用任何方法。 我做了很多研究,以前的主题在这个网站上没有工作 这是我试过的代码。。。但无法找到正确的库使其工作,我甚至不确定它是否正常 GPMGMTLib.GPM gpm = new GPMGMTLib.GPM(); GPMG

我正在做一个C#应用程序,它在登录时将在Windows7终端上启用单点登录(SSO)。我尝试过在这个网站上发现的关于制作GPO的东西,但我无法安装制作GPO代码所需的gpmgmt 1.0类型库,因为它与我的Windows不兼容

任何人都有一个建议,我可以如何使这项工作使用任何方法。 我做了很多研究,以前的主题在这个网站上没有工作

这是我试过的代码。。。但无法找到正确的库使其工作,我甚至不确定它是否正常

GPMGMTLib.GPM gpm = new GPMGMTLib.GPM();  
GPMGMTLib.GPMConstants gpc = gpm.GetConstants();  
GPMGMTLib.GPMDomain gpd =  gpm.GetDomain(Environment.GetEnvironmentVariable("USERDNSDOMAIN"), "", gpc.UseAnyDC);  
GPMGMTLib.GPMSearchCriteria gps = gpm.CreateSearchCriteria();  

GPMGMTLib.IGPMGPOCollection gpoc = gpd.SearchGPOs(gps);  

string outputString = "";  
foreach (GPMGMTLib.GPMGPO name in gpoc)
{  
    outputString += "ID: " + name.ID + "\tName: " + name.DisplayName + "\r\n";  
}  
MessageBox.Show(outputString);  

gpoadmin.dll说它不兼容

,从我的阅读来看,听起来你只是想识别当前登录的用户。您可以使用
WindowsIdentity.GetCurrent()
实现这一点。或者,您可以通过
Environment.UserName
属性获取登录的用户名

WindowsIdentity.GetCurrent方法

Environment.UserName属性


为什么不能使用Windows身份验证?因为客户端使用单点登录。。。我认为,在我正在制作的应用程序中添加这个功能会很好。