Skip to content

Support for System.DirectoryServices for Windows #14734

@syeshchenko

Description

@syeshchenko

Execution plan:

  • 1. @ianhays to kick start the project in CoreFX repo - add source code, showing examples how to do it, advise with setting up build, packaging, prepare the project for future Linux/Mac ports, etc.).
  • 2. Make the code build on Windows.
    • CC @tquerec @ianhays @karelz on PRs
    • Note: We will not take any functional changes to the implementation, architecture, or API surface at this point unless they are necessary to make the code compile on .NET Core. Please give heads up on this issue as soon as you discover case like that.
    • 2.1. System.DirectoryServices.Protocol (on top of wldpap32.dll)
    • 2.2. System.DirectoryServices (on top of adsi.dll)
    • 2.3. System.DirectoryServices.AccountManagement (on top of System.DirectoryServices and SystemDirectoryServices.Protocols)
    • 2.4. System.DirectoryServices.ActiveDirectory (on top of Win32 APIs - see https://github.com/dotnet/corefx/issues/2089#issuecomment-261063131)
  • 3. Add tests - progress tracked in dotnet/corefx#20669
  • .4. Linux/Mac ports.
    • 4.1. System.DirectoryServices.Protocol (we need to decide on x-plat LDAP library to use first) - tracked in dotnet/corefx#24843
    • 4.2. Other libraries (will be difficult as most implementation is mostly part of Windows) - to be tracked by separate issue(s) when the need arises
  • .5. Further improvements and bug fixes to DirectoryServices - to be tracked by separate issues (feel free to create them)
    • Potentially parallel with [4]
  • 6. Publish DirectoryServices package
    • 6.1. Publish preview DirectoryServices package - tracked in dotnet/corefx#18090
    • 6.2. Publish final DirectoryServices package - tracked as part of dotnet/corefx#24909

If anyone is working on any step, please mention it & coordinate here to avoid duplicated effort. @karelz will co-assign the issue to you as well.


Original proposal

Hello there, I was wondering if there is a chance to add support for System.DirectoryServices in CoreCLR.

In one of our projects we are trying to implement GAL based authentication on Linux and tried to use Mono for this task, however it only works partially, check for IsUserInGroup fails. This is something similar to what we are trying to get working: http://stackoverflow.com/questions/2188954/see-if-user-is-part-of-active-directory-group-in-c-sharp-asp-net

So I was hoping that with the addition of this namespace to CoreCLR, it might solve our problem!

Thank you

Metadata

Metadata

Assignees

No one assigned

    Labels

    area-System.DirectoryServicesenhancementProduct code improvement that does NOT require public API changes/additionshelp wanted[up-for-grabs] Good issue for external contributors

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions