Articles of 活动目录

我怎样才能通过REST API调用没有IIS / WCF的Windows用户身份validation?

在为我公司开发内部部署的仅限Intranet的REST API服务器的同时,我也对自己的身份validation问题进行了完全的混淆。 我有 : 使用C#实现的REST Web服务器,使用自主托pipe的Nancy作为Windows服务运行 AC#客户端,可以查询服务器,由我们公司的用户运行 我没有 : 任何forms的访问我们的活动目录和/或域控制器,除了通常在Windows下运行的任何应用程序 任何方式来影响广告设置或configuration Active Directory联合身份validation服务(Active Directory Federation Services,ADFS)(我认为 ,我们使用Windows 7和Office 2010,只是为了对软件景观的状态有所了解) Azure Active Directory(AAD) 我想要 : 服务器validation请求是由我们公司的用户进行的一种方式 如果客户端必须为每个请求发送一些额外的authentication数据,只要它不包含任何forms的用户密码 我不想: 必须设置任何额外的软件(我的服务器必须是最低configuration和维护,所以一般用户可以安装和运行它) 安装/configuration/维护IIS服务器(请参阅上文) 使用ASP.net(对于我的需求来说太大了,再加上看上面的点) 以任何方式处理用户密码(公司政策和常识) 模拟用户(我只需要validation请求的真实性) 实现我自己的用户帐户数据库。 我们已经有半打服务需要自己的用户名/密码组合,我不想再添加一个 我已经阅读了文章,展示了如何使用IIS的Windows身份validation ,或者如何使用Nancy使用Azure Active Directory(AAD) 。 这里的其他问题已经告诉我如何validationActive Directory的用户名/密码组合 。 然而,这些都不能满足我所有的要求,或者有自己的要求(比如AAD / ADFS),我不能满足。 似乎Kerberos / SSPI可能是我想要的,但是看起来非常复杂并且使用C#很复杂。 这是可能的,我将不得不走这条路,但我真的可以受益于一些最小的工作示例(接受的答案提供了一个C#实现/包装,包括一个示例项目,但我似乎无法使头或它的尾巴)。 也许我很天真,但是我想要解决的办法是沿着以下几条线: 客户端使用当前login的用户的凭证查询某种forms的身份validation令牌的服务(AD,域控制器…) 然后将令牌连同用户名一起发送到服务器,作为需要authentication的请求的一部分 服务器提取令牌,并查询相同的服务(AD,域控制器,…)令牌是否可信,有效且属于有问题的用户 这可能吗? 理想情况下,我可以插入一些现成的图书馆(我正在接触,我知道)?

C#:我怎样才能远程创build用户帐户?

我需要做的是:使用C#在我的机器上的另一台机器上创build用户帐户。 我试图使用DirectoryEntry(“WinNt://”….),但它在我的当前机器创build此帐户本地化。 我尝试了很多时间在这个方法中添加目标机器名,但没办法:S。 也我GOOGLE了,发现很多文章说明这样的事情,但不是真正的我需要什么。 任何build议将不胜感激。

使用LogonUser()仅用于validation凭证

我们正在开发一个内部用户帐户系统的应用程序,但希望能够使用来自Active Directory和/或Windows帐户的凭据。 为此,我们将用户SID存储在应用程序用户表中的一个字段中。 我们的login机制是这样的function: 提示用户input域名,login名,密码 调用LogonUser(login,域,密码,logon_type,logon_provider和hToken) 如果成功,从hToken获取用户SID closureshToken search我们的应用程序的数据库为给定的SID的用户; 如果find,我们被视为login到该帐户。 已经出现的问题是:我们一直在使用LOGON32_LOGON_NETWORK作为logon_type,但现在我们遇到了一些安全configuration,其中“从networking访问这台计算机”被拒绝,这意味着networkinglogintypes是被禁止的。 我的问题是什么logintypes应该用于这种情况? 互动? 除了提取用户的SID之外,我们实际上并不使用login标记。 我们的应用程序有自己的内部组和权限; 我们不以任何方式使用Windows组或权限。 从Windows和域控制器的angular度来看,我们所做的只是login并快速注销。 还是我们以完全错误的方式来看待这个问题,我们应该完全使用其他一些login方法? 谢谢

在工作组机器上testingWindows AD集成

是否有一个开发人员的援助,可以模拟Windows AD在非域名机器,也就是我的开发笔记本电脑?

使用VBScript从Active Directory(LDAP)中检索所有用户

如何使用VBScript从Active Directory中检索所有用户?

如何从Active Directory获取用户密码到期date?

乡亲! 有一个Active Directory(Windows)和一个Linux samba客户端。 在Active Directory中,策略以这种方式进行了调整,以便用户需要定期更改密码(密码有到期时间)。 我的问题很简单:如果我使用Samba在Linux机器上工作,是否可以获得给定用户的到期时间?

合法pipe理员如何在ActiveDirectory中获取用户密码?

如果在Active Directory中以可逆encryption方式存储密码,pipe理员/开发人员将如何提取和解密此密码? 具体来说,我指的是这个设置。

dynamic获取当前LDAPpath

我正在用C#和.NET Framework 4.0开发一个库。 我想检索所有活动目录用户,它的工作很好。 但我的问题,如果我在另一个域上运行我的程序,我不得不改变这一点: private static string ldapPath = "LDAP://DC=ic,DC=local"; 并使用新域的新数据重新编译它。 有什么办法dynamic获取"LDAP://DC=ic,DC=local" ?

batch file发送引用的参数内的当前文件夹

我有一个用于转换图像的batch file,参数是引号,参数内的引号string被转义。 但是,我想发送当前path%CD%也作为参数…但执行此: "C:\Program Files\GIMP 2\bin\gimp-2.8.exe" -i -b "(python-fu-watermark-folder RUN-INTERACTIVE \"%CD%\" \"%CD%_watermarked\" \"C:/Documents and Settings/Jan/Desktop/watermarking/customEffectsWatermark.png\")" -b "(gimp-quit 0)" 给我一个回应: C:\Documents and Settings\Jan\Desktop\watermarking\tester>"C:\Program Files\GIMP2\bin\gimp-2.8.exe" -i -b "(python-fu-watermark-folder RUN-INTERACTIVE \"C:\Documents and Settings\Jan\Desktop\watermarking\tester\" \"C:\Documents and Settings\Jan\Desktop\watermarking\tester_watermarked\" \"C:/Documents and Settings/Jan/Desktop/watermarking/customEffectsWatermark.png\")" -b "(gimp-quit 0)" 这很好,但是,目录中的反斜杠是转义字符! 所以在执行插件时,我最终得到了一个转义目录(我不希望这样): WatermarkFolder-Warning: C:Documents and SettingsJanDesktopwatermarking ester WatermarkFolder-Warning: C:Documents and SettingsJanDesktopwatermarking ester_watermarked WatermarkFolder-Warning: files to be […]

有没有办法使引用追逐UserPrincipal.FindByIdentity()?

我有一个使用System.DirectoryServices.AccountManagement类的.NET 3.5 Web应用程序。 当我search一些用户时,我得到一个PrincipalOperationException:从服务器返回一个引用。 如果我用自己的LDAP代码做了这个旧的学校方式,我可以启用追踪引荐。 我需要重写我的代码吗? 我的代码如下所示: using (var principalContext = new PrincipalContext(ContextType.Domain, null, adPath)) { // Find the principal object for which you wish to enumerate group // membership. using (var userPrincipal = UserPrincipal.FindByIdentity(principalContext, identity)) { if (userPrincipal != null) { Name = userPrincipal.DisplayName; DistinguishedName = userPrincipal.DistinguishedName; EmailAddress = userPrincipal.EmailAddress; Sid = userPrincipal.Sid.Value; } […]