C# MVC活动目录成员资格
我试图使用active directory成员身份而不是SQL,但在线可用的文档非常有限。我已经成功地将我的应用程序连接到域控制器,没有任何问题,但是当您使用“Context.User.Identity.Name”时,它会显示domain\User。我想基本上深入了解并获取诸如全名、电子邮件地址等信息 我只需要一个有用的链接和搜索我做了似乎没有得到我任何地方C# MVC活动目录成员资格,c#,model-view-controller,activedirectorymembership,C#,Model View Controller,Activedirectorymembership,我试图使用active directory成员身份而不是SQL,但在线可用的文档非常有限。我已经成功地将我的应用程序连接到域控制器,没有任何问题,但是当您使用“Context.User.Identity.Name”时,它会显示domain\User。我想基本上深入了解并获取诸如全名、电子邮件地址等信息 我只需要一个有用的链接和搜索我做了似乎没有得到我任何地方 非常感谢您试过这个医生吗 有什么帮助吗?这会给你一些线索: 下面是您可能希望在搜索结果中使用的LDAP属性列表:如果您使用的是Activ
非常感谢您试过这个医生吗
有什么帮助吗?这会给你一些线索:
下面是您可能希望在搜索结果中使用的LDAP属性列表:如果您使用的是Active Directory,则可能使用Windows身份验证。如果是这样,您需要做的就是:
System.DirectoryServices.AccountManagement
- 这是因为Windows身份验证意味着当前
上的HttpContext
是一个User.Identity
,因此其WindowsIdentity
属性可用于搜索广告Name
- 您不限于查找当前用户。您可以使用
搜索传递的任何值,此方法存在于其他主体(例如GroupPrincipal)上。您还可以指定希望通过另一种类型(如SID)而不是名称进行搜索FindByIdentity()
享受吧 我真的需要创建一个到DC的新连接来获取我想要的信息吗?我曾希望web.config文件中的信息足以满足这一要求。。。您能否确认我是否需要创建到DC的新连接以获取所需信息。如果您想从AD获取其他属性,您需要执行此操作。这就是我在开发内联网web应用程序时所做的,它是经过身份验证的,而不是AD。我不确定是否还有其他方法。也许其他人可能知道。我使用system.DirectoryServices.AccountManagement类(yay)找到了一些东西-您必须传递用户名,并且可以收集所需的任何参数:使用(var user=UserPrincipal.FindByIdentity(context,“username”){return user.DisplayName;}-这是一点额外的工作,但至少它是有效的!酷,我没用过那个。他们一定是在我不得不做任何事情(w/AD:)之后添加的。谢谢分享。