Tag: active directory

如何在C#中获取当前用户的Active Directory详细信息

我正在使用Windows身份validation的C#和ASP.Net应用程序。 即在Web.config中: <system.web> <authentication mode="Windows" /> </system.web> 我想从Active Directory获取当前用户的详细信息(全名,电子邮件地址等)。 我可以通过使用以前的Windows 2000用户login名(例如: SOMEDOMAIN\someuser ) string username = HttpContext.Current.Request.ServerVariables["AUTH_USER"]; 我已经为用户制定了LDAP查询,使用他们当前的login名(不是他们的Windows 2000以前的用户login名): DirectorySearcher adSearch = new DirectorySearcher( "(userprincipalname=someuser@somedomain.com.au)"); SearchResult adSearchResult = adSearch.FindOne(); 但是,我不知道如何使用他们的W2Klogin名login名searchAD,或者以“someuser@somedomain.com.au”格式获取他们的login名。 有任何想法吗?

我如何才能找出哪些服务器主机LDAP在我的Windows域?

我正在尝试开发一个应用程序(C#)来查询LDAP服务器。 我不知道实际的服务器命名查询 – 有没有办法find使用标准的Windows工具或.NET中的东西? 我也听说有服务器名称(ldap:// server /)的传言并不总是需要的,只要我在我的查询string中有dc = domain,dc = com,但是我到目前为止已经能够以这种方式使用它。 有小费吗? 谢谢

活动目录 – 检查用户名/密码

我在Windows Vista Ultimate SP1上使用以下代码来查询我们的活动目录服务器,以检查域上用户的用户名和密码。 public Object IsAuthenticated() { String domainAndUsername = strDomain + "\\" + strUser; DirectoryEntry entry = new DirectoryEntry(_path, domainAndUsername, strPass); SearchResult result; try { //Bind to the native AdsObject to force authentication. DirectorySearcher search = new DirectorySearcher(entry) { Filter = ("(SAMAccountName=" + strUser + ")") }; search.PropertiesToLoad.Add("givenName"); // First Name search.PropertiesToLoad.Add("sn"); // […]

configurationASP.NET MVC进行针对AD的身份validation

什么是根据Active DirectoryvalidationASP.NET MVC应用程序用户的高级步骤? 我认为是这样的: 修改web.config以使用Windows身份validation configurationweb.config以使用ActiveDirectoryMembershipProvider configurationweb.config以使用在AD中查找的自定义RoleProvider 上面看起来是否合理,如果是的话,我在哪里放置有效的用户检测逻辑? 在我的情况下,有效的用户是特定AD域中的某个人。

LDAP通过Ruby或Rails

我一直在尝试将Rails应用程序挂接到ActiveDirectory。 我将同步AD和数据库之间的用户数据,目前MySQL(但可能会变成SQL Server或PostgreSQL)。 我已经检查了activedirectory-ruby,而且看起来真的很麻烦(对于1.0版本!)。 它包装了Net :: LDAP,所以我尝试使用它,但它确实接近LDAP的实际语法,我喜欢ActiveDirectory-Ruby的抽象,因为它的ActiveRecord类似的语法。 有没有一个优雅的ORMtypes的目录服务器的工具? 更好的是,如果有某种LDAP的脚手架工具(用户,组,单位等CRUD)。 然后,我可以通过Authlogic快速地将其与我现有的身份validation代码集成,并保持所有数据同步。

查看用户是否属于C#+ Asp.net中Active Directory组的一部分

我需要一种方法来查看用户是否来自我的.net 3.5 asp.net c#应用程序的活动目录组的一部分。 我正在使用msdn的标准ldap身份validation示例,但我真的不知道如何检查一个组。

内置的帮助器将User.Identity.Nameparsing为Domain \ Username

有没有内置的实用工具或帮手parsingHttpContext.Current.User.Identity.Name ,例如domain\user获得单独的域名,如果存在和用户? 或者还有其他的课程吗? 我明白这很容易调用String.Split("\")但只是有趣的

使用应用程序池标识的IIS应用程序丢失主令牌?

(这是关于一个模糊问题的问题,我试图提供所有相关数据,希望有人有帮助的信息;对长描述道歉。 我们的networking应用 我们有一个运行在IIS 7.5中的.NET 4 Web应用程序访问Active Directory和一个SQL Server数据库。 通过将应用程序的应用程序池的标识设置为ApplicationPoolIdentity ,该Web应用程序在虚拟“应用程序池标识”下运行。 关于虚拟身份的简要描述可以在StackOverflow的答案和它引用的博客文章中find:应用程序池身份只是一个附加组,它被添加到作为“networking服务”运行的Web应用程序的工作进程中。 然而,有一个消息来源隐约暗示,“networking服务和ApplicationPoolIdentity确实存在IIS.net站点文档不公开的区别”。 所以虚拟身份可能不仅仅是一个额外的团体。 我们select使用ApplicationPoolIdentity而不是NetworkService,因为它已经成为IIS 7.5中的默认设置(参见这里 ),并且按照微软的build议:“这个标识允许pipe理员指定仅与应用程序的身份相关的权限池正在运行,从而增加了服务器的安全性。“ (来自processModel元素,用于为applicationPools添加[IIS 7设置架构] )“应用程序池标识是一个强大的新隔离特性”,它使“运行IIS应用程序更加安全可靠”(来自IIS.net文章“Application Pool Identities” ) 该应用程序使用集成Windows身份validation,但使用<identity impersonate="false"/> ,以便不使用最终用户身份,而使用虚拟应用程序池标识来运行我们的代码。 此应用程序使用System.DirectoryServices类(即ADSI API)查询Active Directory。 在大多数地方,这是在没有指定额外的用户名/密码或其他凭据的情况下完成 此应用程序还使用连接string中的Integrated Security=true连接到SQL Server数据库。 如果数据库是本地的,那么我们看到IIS APPPOOL\OurAppPoolName用于连接到数据库; 如果数据库是远程的,那么使用机器帐户OURDOMAIN\ourwebserver$ 。 我们的问题 我们经常遇到下列其中一种情况,即安装工作开始失败的问题。 当数据库在远程系统上时,数据库连接开始失败:“NT AUTHORITY \ ANONYMOUS LOGON用户login失败”原因:基于令牌的服务器访问validation失败,出现基础结构错误,请检查以前的错误。 以前的错误是“错误:18456,严重性:14,状态:11。 所以现在看来OURDOMAIN\ourwebserver$不再被使用,而是尝试匿名访问。 (我们有轶事证据表明,这个问题是在UACclosures的时候发生的,而且在UAC打开后就消失了,但是请注意,更改UAC需要重新启动……) IIS.net线程中报告了类似的问题“use ApplicationPoolIdentity连接到SQL“ ,具体在一个答复 。 通过ADSI(System.DirectoryServices)的Active Directory操作开始失败,错误为0x8000500C(“未知错误”),0x80072020(“发生操作错误”)或0x200B(“指定的目录服务属性或值不存在”) 。 从Internet Explorerlogin到应用程序开始失败,并出现HTTP […]

从命令行获取用户的非截断Active Directory组

我经常使用net user命令查看一个用户的AD组: net user /DOMAIN <username> 这个效果很好,但是组名被截断为大约20个字符。 在我的组织中,大多数组名比这个长得多。 有谁知道通过命令行获取非截断AD组的方法吗?

使用python + ldap对活动目录进行身份validation

我如何使用Python + LDAP对AD进行身份validation。 我目前正在使用python-ldap库,它所产生的只是眼泪。 我甚至不能绑定执行一个简单的查询: import sys import ldap Server = "ldap://my-ldap-server" DN, Secret, un = sys.argv[1:4] Base = "dc=mydomain,dc=co,dc=uk" Scope = ldap.SCOPE_SUBTREE Filter = "(&(objectClass=user)(sAMAccountName="+un+"))" Attrs = ["displayName"] l = ldap.initialize(Server) l.protocol_version = 3 print l.simple_bind_s(DN, Secret) r = l.search(Base, Scope, Filter, Attrs) Type,user = l.result(r,60) Name,Attrs = user[0] if hasattr(Attrs, 'has_key') and Attrs.has_key('displayName'): […]