C# 使用C启用单点登录#
我正在做一个C#应用程序,它在登录时将在Windows7终端上启用单点登录(SSO)。我尝试过在这个网站上发现的关于制作GPO的东西,但我无法安装制作GPO代码所需的gpmgmt 1.0类型库,因为它与我的Windows不兼容 任何人都有一个建议,我可以如何使这项工作使用任何方法。 我做了很多研究,以前的主题在这个网站上没有工作 这是我试过的代码。。。但无法找到正确的库使其工作,我甚至不确定它是否正常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
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身份验证?因为客户端使用单点登录。。。我认为,在我正在制作的应用程序中添加这个功能会很好。