标签: ldap

如何克隆OpenLDAP数据库

我知道这更像是一个serverover故障问题,而不是stackoverflow问题,但由于serverfault尚未启动,我在这里:

我应该将应用程序从一个redhat服务器移动到另一个,并且在不了解应用程序的内部工作原理的情况下,如何将OpenLDAP数据库从一台机器移动到另一台机器,使用模式和所有机器.

我需要复制哪些文件?我相信这个设置很标准.

linux redhat ldap openldap

37
推荐指数
4
解决办法
8万
查看次数

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

我正在使用一个使用Windows身份验证的C#和ASP.Net应用程序.

即在Web.config中:

<system.web>
    <authentication mode="Windows" />
</system.web>
Run Code Online (Sandbox Code Playgroud)

我想从Active Directory获取当前用户的详细信息(全名,电子邮件地址等).


我可以SOMEDOMAIN\someuser通过使用获得他们的Windows 2000用户登录名(例如:)

string username = HttpContext.Current.Request.ServerVariables["AUTH_USER"];
Run Code Online (Sandbox Code Playgroud)

我已经使用他们当前的登录名(而不是他们的Windows 2000用户登录名)为用户制定了LDAP查询:

DirectorySearcher adSearch = new DirectorySearcher(
        "(userprincipalname=someuser@somedomain.com.au)");
SearchResult adSearchResult = adSearch.FindOne();
Run Code Online (Sandbox Code Playgroud)

但是,我不知道如何使用他们的前W2K登录名为用户搜索AD,或者以'someuser@somedomain.com.au'格式获取他们的登录名.

有任何想法吗?

.net c# ldap active-directory windows-authentication

36
推荐指数
3
解决办法
13万
查看次数

使用PHP从LDAP验证用户

我的项目是为我们的大学制作模块注册系统.所以我联系了我大学的IT人员,详细了解了学生进入系统的情况.我们正在使用现有的大学登录系统开发系统.他们给了我一些LDAP信息,我不知道它的用法.我在Apacha服务器上使用PHP,Mysql.如果用户ID和密码包含LDAP信息,我如何验证登录系统的用户.

以下是LDAP信息(我更改了域名等)

blueroom.ac.uk域的LDAP信息


LDAP Host : ad.blueroom.ac.uk

LDAP port no: 389

BASE DN : ou=bluebird, dc=bluebird, dc=ac, dc=my

LDAP account to bind : cn = kikdap, ou=servacc, dc=bluebird,dc=ac,dc=uk

LDAP account password : ********

Attribute : sAMAccountName 
Run Code Online (Sandbox Code Playgroud)

php authentication ldap

35
推荐指数
2
解决办法
6万
查看次数

如何找出哪个服务器在我的Windows域上托管LDAP?

我正在尝试开发一个应用程序(C#)来查询LDAP服务器.我不知道命名为查询的实际服务器 - 有没有办法找到使用标准的Windows工具或.net中的东西?

我也听说有传言说只要我的查询字符串中有dc = domain,dc = com,就不一定需要服务器名称(ldap:// server /),但我到目前为止还能够以这种方式使用它.

有小费吗?

谢谢

asp.net ldap active-directory

35
推荐指数
3
解决办法
14万
查看次数

如何获取特定用户的所有AD组?

我已经查过这篇文章了.但它没有回答我的问题.我想获取特定用户所属的所有活动目录组.

我写了以下代码.但我无法继续进行,因为我不知道如何提供过滤器以及如何访问属性.

class Program
{
    static void Main(string[] args)
    {
        DirectoryEntry de = new DirectoryEntry("LDAP://mydomain.com");
        DirectorySearcher searcher = new DirectorySearcher(de);
        searcher.Filter = "(&(ObjectClass=group))";
        searcher.PropertiesToLoad.Add("distinguishedName");
        searcher.PropertiesToLoad.Add("sAMAccountName");
        searcher.PropertiesToLoad.Add("name");
        searcher.PropertiesToLoad.Add("objectSid");
        SearchResultCollection results = searcher.FindAll();
        int i = 1;
        foreach (SearchResult res in results)
        {
            Console.WriteLine("Result" + Convert.ToString(i++));
            DisplayProperties("distinguishedName", res);
            DisplayProperties("sAMAccouontName", res);
            DisplayProperties("name", res);
            DisplayProperties("objectSid", res);
            Console.WriteLine();
        }

        Console.ReadKey();
    }

    private static void DisplayProperties(string property, SearchResult res)
    {
        Console.WriteLine("\t" + property);
        ResultPropertyValueCollection col = res.Properties[property];
        foreach (object o in col)
        {
            Console.WriteLine("\t\t" …
Run Code Online (Sandbox Code Playgroud)

.net c# directoryservices ldap active-directory

35
推荐指数
5
解决办法
9万
查看次数

如何解决javax.naming.PartialResultException?

我们在日志中看到此警告消息

javax.naming.PartialResultException: Unprocessed Continuation Reference(s); remaining name 'dc=global,dc=com'

每当用户登录我们的应用程序时,它就会出现.

根据这篇SO帖子,可以通过设置Context.REFERRAL来解决它follow.但它将搜索时间从1秒增加到4秒.

实际上你可以参考这篇SO帖子,它说使用follow会减慢搜索速度.

所以我的问题是,在不影响性能的情况下,从日志中删除此异常的最佳方法是什么?

ldap

35
推荐指数
2
解决办法
5万
查看次数

配置Tomcat以使用Windows Active Directory进行身份验证

配置Tomcat 5.5或更高版本以从Windows Active Directory验证用户的最佳方法是什么?

tomcat ldap

34
推荐指数
2
解决办法
7万
查看次数

Active Directory - 检查用户名/密码

我在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"); // Last Name
        search.PropertiesToLoad.Add("cn"); // Last Name

        result = search.FindOne();

        if (null == result)
        {
            return null;
        }

        //Update the new path to the user in …
Run Code Online (Sandbox Code Playgroud)

c# ldap active-directory windows-vista

34
推荐指数
2
解决办法
7万
查看次数

如何为我的Web应用程序构建LDAP集成?

我公司开发和销售拥有数百名客户的SaaS应用程序.我们的一些客户要求我们支持LDAP集成,以便根据现有系统对用户帐户进行身份验证,而不必为每个员工创建另一个登录帐户.这似乎在很多地方被称为单点登录(SSO)?当然,我们的系统已经有一种机制来维护用户帐户配置文件并从我们的登录页面验证这些用户帐户.

我们对LDAP有点无知,对一些事情感到困惑.请原谅可能使用错误的术语(记住,我们对此有点无知).

我们认为我们了解这可能如何工作的基础知识:

  • 我们的客户将其帐户配置为"开启"其帐户的"远程身份验证"功能.它们提供将对其用户进行身份验证的远程URL.
  • 用户进入我们的登录页面并尝试使用其公司的LDAP系统提供的用户名和密码进行登录.
  • 我们的登录页面将安全地将登录凭证(可能是加密的并以某些商定的格式进行散列)转发到我们客户提供的"远程验证"URL.
  • 客户的脚本将对用户进行身份验证,然后使用"身份验证状态"将其重定向回我们的站点.
  • 我们的页面将分析"身份验证状态",并接受用户登录与否.

假设上述信息甚至是半正确的,我们仍然需要每个用户在我们的系统中拥有一个帐户.我们不需要某种方式将我们的用户帐户配置文件与LDAP目录中的用户配置文件同步吗?这只是一个引用LDAP系统中用户ID的"外部ID"吗?那么是否需要客户的"远程认证"脚本必须向我们的系统提供该ID,以便我们知道系统中哪个用户帐户将登录与?相关联?

我们缺少什么?

顺便说一句,我们的平台是IIS,ASP.Net 2.0和SQL Server 2005.

ldap saas single-sign-on

34
推荐指数
2
解决办法
5万
查看次数

ASP.NET Core 2.0 LDAP Active Directory身份验证

我从过去发现了很多信息,说LDAP身份验证尚未启用,但您可以使用第三方软件包解决这个问题. 但是,似乎在1月份实施了LDAP身份验证WAS .我似乎无法找到任何关于如何实现它的信息.

我已经在我的项目中设置了自定义身份验证,我只需要逻辑来填写HandleAuthenticateAsync方法.

我尝试过使用其他示例,但它们似乎不适用于.NET Core 2.0.

这是我能想到的唯一相关代码

protected override Task<AuthenticateResult> HandleAuthenticateAsync()
{
    // Get Authorization header value
    if (!Request.Headers.TryGetValue(HeaderNames.Authorization, out var authorization)) {
        return Task.FromResult(AuthenticateResult.Fail("Cannot read authorization header."));
    }

    // TODO: Authenticate user

    // Create authenticated user ticket
    var identities = new List<ClaimsIdentity> { new ClaimsIdentity("custom auth type") };
    var ticket = new AuthenticationTicket(new ClaimsPrincipal(identities), Options.Scheme);

    return Task.FromResult(AuthenticateResult.Success(ticket));

    // else User not authenticated
    return Task.FromResult(AuthenticateResult.Fail("Invalid auth key."));
}
Run Code Online (Sandbox Code Playgroud)

所以,我的问题是,如何在.NET Core …

c# authentication ldap active-directory asp.net-core

33
推荐指数
2
解决办法
5万
查看次数