我正在尝试弄清楚为什么基于属性的安全性在WCF中没有像我预期的那样工作,我怀疑它可能与以下内容有关:AppDomain.CurrentDomain.SetPrincipalPolicy(PrincipalPolicy.WindowsPrincipal);varidentity=newWindowsIdentity("ksarfo");varprincipal=newWindowsPrincipal(identity);Console.WriteLine("\nCheckingwhethercurrentuser["+identity.Name+"]ismemberof["+groupN
WindowsIdentity(string)构造函数要求用户名采用username@domain.com格式。但在我的例子中,我从旧的DOMAIN\user格式的数据库中获取用户名(然后必须检查他们的Windows角色成员身份)。从旧式(sAMAccountName)用户名创建WindowsPrincipal的最佳方法是什么? 最佳答案 似乎没有办法在不涉及对ActiveDirectory的查询的情况下转换用户名格式。由于是这种情况,因此无需创建WindowsPrincipal来检查组成员身份,因为这可能需要与AD的另一个连接
我想知道一个程序是否以管理员身份运行。用户不必是管理员。我只想知道我的应用程序是否有权编辑一些以管理员身份运行时可编辑的安全文件。 最佳答案 这将返回一个有效的bool值usingSystem.Security.Principal;boolisElevated;using(WindowsIdentityidentity=WindowsIdentity.GetCurrent()){WindowsPrincipalprincipal=newWindowsPrincipal(identity);isElevated=principal.I
我想知道一个程序是否以管理员身份运行。用户不必是管理员。我只想知道我的应用程序是否有权编辑一些以管理员身份运行时可编辑的安全文件。 最佳答案 这将返回一个有效的bool值usingSystem.Security.Principal;boolisElevated;using(WindowsIdentityidentity=WindowsIdentity.GetCurrent()){WindowsPrincipalprincipal=newWindowsPrincipal(identity);isElevated=principal.I
如何在我的系统中使用C#获取我的名字姓氏(使用ActiveDirectory用户名和密码登录Windows)?是否可以在不去AD的情况下做到这一点? 最佳答案 如果您使用的是.Net3.0或更高版本,则有一个可爱的库可以让这实际上是自己编写的。System.DirectoryServices.AccountManagement有一个UserPrincipal对象,它可以准确地获取您正在寻找的内容,您不必搞乱LDAP或通过系统调用来完成它。这就是它所需要的:Thread.GetDomain().SetPrincipalPolicy(P
如何在我的系统中使用C#获取我的名字姓氏(使用ActiveDirectory用户名和密码登录Windows)?是否可以在不去AD的情况下做到这一点? 最佳答案 如果您使用的是.Net3.0或更高版本,则有一个可爱的库可以让这实际上是自己编写的。System.DirectoryServices.AccountManagement有一个UserPrincipal对象,它可以准确地获取您正在寻找的内容,您不必搞乱LDAP或通过系统调用来完成它。这就是它所需要的:Thread.GetDomain().SetPrincipalPolicy(P
我的应用程序需要运行一些脚本,我必须确保运行它们的用户是管理员...使用C#执行此操作的最佳方法是什么? 最佳答案 usingSystem.Security.Principal;publicstaticboolIsAdministrator(){using(WindowsIdentityidentity=WindowsIdentity.GetCurrent()){WindowsPrincipalprincipal=newWindowsPrincipal(identity);returnprincipal.IsInRole(Windo
我的应用程序需要运行一些脚本,我必须确保运行它们的用户是管理员...使用C#执行此操作的最佳方法是什么? 最佳答案 usingSystem.Security.Principal;publicstaticboolIsAdministrator(){using(WindowsIdentityidentity=WindowsIdentity.GetCurrent()){WindowsPrincipalprincipal=newWindowsPrincipal(identity);returnprincipal.IsInRole(Windo
HowtocreateWindowsIdentity/WindowsPrincipalfromusernameinDOMAIN\userformatWindowsIdentity(string)构造函数要求用户名为username@domain.com格式。但在我的情况下,我从数据库中以旧的DOMAIN\\user格式获取用户名(然后必须检查他们的Windows角色成员身份)。从旧样式(sAMAccountName)用户名??创建WindowsPrincipal的最佳方法是什么?您可以使用DsCrackNamesAPI来转换格式。我在这里找到了一个DsCrackNamesC#示例:techno
HowtocreateWindowsIdentity/WindowsPrincipalfromusernameinDOMAIN\userformatWindowsIdentity(string)构造函数要求用户名为username@domain.com格式。但在我的情况下,我从数据库中以旧的DOMAIN\\user格式获取用户名(然后必须检查他们的Windows角色成员身份)。从旧样式(sAMAccountName)用户名??创建WindowsPrincipal的最佳方法是什么?您可以使用DsCrackNamesAPI来转换格式。我在这里找到了一个DsCrackNamesC#示例:techno