Runtime: Windows рдХреЗ рд▓рд┐рдП System.DirectoryServices рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди

рдХреЛ рдирд┐рд░реНрдорд┐рдд 18 рдЬреВрди 2015  ┬╖  199рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: dotnet/runtime

рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЬрдирд╛:

  • [x] 1. рдХреЛрд░рдПрдлрдПрдХреНрд╕ рд░реЗрдкреЛ рдореЗрдВ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП @ianhays - рд╕реНрд░реЛрдд рдХреЛрдб рдЬреЛрдбрд╝реЗрдВ, рдЙрджрд╛рд╣рд░рдг рджрд┐рдЦрд╛рддреЗ рд╣реБрдП рдХрд┐ рдЗрд╕реЗ рдХреИрд╕реЗ рдХрд░рдирд╛ рд╣реИ, рдмрд┐рд▓реНрдб, рдкреИрдХреЗрдЬрд┐рдВрдЧ рдХреА рд╕реНрдерд╛рдкрдирд╛ рдХреЗ рд╕рд╛рде рд╕рд▓рд╛рд╣ рджреЗрдирд╛, рднрд╡рд┐рд╖реНрдп рдХреЗ рд▓рд┐рдирдХреНрд╕/рдореИрдХ рдкреЛрд░реНрдЯ рдЖрджрд┐ рдХреЗ рд▓рд┐рдП рдкреНрд░реЛрдЬреЗрдХреНрдЯ рддреИрдпрд╛рд░ рдХрд░рдирд╛)ред
  • [x] 2. рд╡рд┐рдВрдбреЛрдЬ рдкрд░ рдХреЛрдб рдмрдирд╛рдПрдВред

    • рд╕реАрд╕реА @tquerec @ianhays @karelz рдкреАрдЖрд░рдПрд╕ рдкрд░

    • рдиреЛрдЯ: рд╣рдо рдЗрд╕ рдмрд┐рдВрджреБ рдкрд░ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди, рд╡рд╛рд╕реНрддреБрдХрд▓рд╛, рдпрд╛ рдПрдкреАрдЖрдИ рд╕рддрд╣ рдореЗрдВ рдХреЛрдИ рдХрд╛рд░реНрдпрд╛рддреНрдордХ рдкрд░рд┐рд╡рд░реНрддрди рдирд╣реАрдВ рдХрд░реЗрдВрдЧреЗ, рдЬрдм рддрдХ рдХрд┐ рд╡реЗ .NET рдХреЛрд░ рдкрд░ рдХреЛрдб рд╕рдВрдХрд▓рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рди рд╣реЛрдВред рдХреГрдкрдпрд╛ рдЗрд╕ рддрд░рд╣ рдХреЗ рдорд╛рдорд▓реЗ рдХрд╛ рдкрддрд╛ рдЪрд▓рддреЗ рд╣реА рдЗрд╕ рдореБрджреНрджреЗ рдкрд░ рд╕рдВрдЬреНрдЮрд╛рди рд▓реЗрдВред

    • [рдПрдХреНрд╕] 2.1. System.DirectoryServices. рдкреНрд░реЛрдЯреЛрдХреЙрд▓ (wldpap32.dll рдХреЗ рд╢реАрд░реНрд╖ рдкрд░)

    • [рдПрдХреНрд╕] 2.2. рдкреНрд░рдгрд╛рд▓реАред DirectoryServices (adsi.dll рдХреЗ рд╢реАрд░реНрд╖ рдкрд░)

    • [рдПрдХреНрд╕] 2.3. System.DirectoryServices. рдЦрд╛рддрд╛ рдкреНрд░рдмрдВрдзрди (System.DirectoryServices рдФрд░ SystemDirectoryServices.Protocols рдХреЗ рд╢реАрд░реНрд╖ рдкрд░)

    • [рдПрдХреНрд╕] 2.4. System.DirectoryServices. ActiveDirectory (Win32 API рдХреЗ рд╢реАрд░реНрд╖ рдкрд░ - https://github.com/dotnet/corefx/issues/2089#issuecomment-261063131 рджреЗрдЦреЗрдВ)

  • [x] 3. рдкрд░реАрдХреНрд╖рдг рдЬреЛрдбрд╝реЗрдВ - dotnet/corefx#20669 . рдореЗрдВ рдЯреНрд░реИрдХ рдХреА рдЧрдИ рдкреНрд░рдЧрддрд┐
  • .4. рд▓рд┐рдирдХреНрд╕ / рдореИрдХ рдкреЛрд░реНрдЯред

    • 4.1. System.DirectoryServices. рдкреНрд░реЛрдЯреЛрдХреЙрд▓ (рд╣рдореЗрдВ рдкрд╣рд▓реЗ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП x-plat LDAP рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдкрд░ рдирд┐рд░реНрдгрдп рд▓реЗрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ) - dotnet/corefx#24843 рдореЗрдВ рдЯреНрд░реИрдХ рдХрд┐рдпрд╛ рдЧрдпрд╛

    • 4.2. рдЕрдиреНрдп рдкреБрд╕реНрддрдХрд╛рд▓рдп (рдХрдард┐рди рд╣реЛрдВрдЧреЗ рдХреНрдпреЛрдВрдХрд┐ рдЕрдзрд┐рдХрд╛рдВрд╢ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдЬреНрдпрд╛рджрд╛рддрд░ рд╡рд┐рдВрдбреЛрдЬрд╝ рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рд╣реИ) - рдЖрд╡рд╢реНрдпрдХрддрд╛ рдкрдбрд╝рдиреЗ рдкрд░ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдореБрджреНрджреЛрдВ рджреНрд╡рд╛рд░рд╛ рдЯреНрд░реИрдХ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рд╣реИ

  • .5. DirectoryServices рдореЗрдВ рдФрд░ рд╕реБрдзрд╛рд░ рдФрд░ рдмрдЧ рдлрд┐рдХреНрд╕ - рдЕрд▓рдЧ-рдЕрд▓рдЧ рдореБрджреНрджреЛрдВ рджреНрд╡рд╛рд░рд╛ рдЯреНрд░реИрдХ рдХрд┐рдП рдЬрд╛рдиреЗ рдХреЗ рд▓рд┐рдП (рдЙрдиреНрд╣реЗрдВ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрд╡рддрдВрддреНрд░ рдорд╣рд╕реВрд╕ рдХрд░реЗрдВ)

    • [4] рдХреЗ рд╕рд╛рде рд╕рдВрднрд╛рд╡рд┐рдд рд╕рдорд╛рдирд╛рдВрддрд░

  • [x] 6. рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рд╕реЗрд╡рд╛ рдкреИрдХреЗрдЬ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░реЗрдВ

    • [рдПрдХреНрд╕] 6.1. рдкреВрд░реНрд╡рд╛рд╡рд▓реЛрдХрди рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░реЗрдВ DirectoryServices рдкреИрдХреЗрдЬ - dotnet/corefx#18090 . рдореЗрдВ рдЯреНрд░реИрдХ рдХрд┐рдпрд╛ рдЧрдпрд╛

    • [ ] 6.2. рдЕрдВрддрд┐рдо DirectoryServices рдкреИрдХреЗрдЬ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░реЗрдВ - dotnet/corefx#24909 . рдХреЗ рд╣рд┐рд╕реНрд╕реЗ рдХреЗ рд░реВрдк рдореЗрдВ рдЯреНрд░реИрдХ рдХрд┐рдпрд╛ рдЧрдпрд╛

рдпрджрд┐ рдХреЛрдИ рдХрд┐рд╕реА рднреА рдХрджрдо рдкрд░ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИ, рддреЛ рдХреГрдкрдпрд╛ рдЙрд╕рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд░реЗрдВ рдФрд░ рджреЛрд╣рд░рд╛рдП рдЧрдП рдкреНрд░рдпрд╛рд╕ рд╕реЗ рдмрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдпрд╣рд╛рдВ рд╕рдордиреНрд╡рдп рдХрд░реЗрдВред @karelz рдЖрдкрдХреЛ рднреА рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рд╕рд╣-рдЕрд╕рд╛рдЗрди рдХрд░реЗрдЧрд╛ред


рдореВрд▓ рдкреНрд░рд╕реНрддрд╛рд╡

рдирдорд╕реНрддреЗ, рдореИрдВ рд╕реЛрдЪ рд░рд╣рд╛ рдерд╛ рдХрд┐ рдХреНрдпрд╛ CoreCLR рдореЗрдВ System.DirectoryServices рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдЬреЛрдбрд╝рдиреЗ рдХрд╛ рдореМрдХрд╛ рд╣реИред

рд╣рдорд╛рд░реА рдПрдХ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рд╣рдо Linux рдкрд░ GAL рдЖрдзрд╛рд░рд┐рдд рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдФрд░ рдЗрд╕ рдХрд╛рд░реНрдп рдХреЗ рд▓рд┐рдП рдореЛрдиреЛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рд╣рд╛рд▓рд╛рдБрдХрд┐ рдпрд╣ рдХреЗрд╡рд▓ рдЖрдВрд╢рд┐рдХ рд░реВрдк рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, IsUserInGroup рд╡рд┐рдлрд▓ рд╣реЛрдиреЗ рдХреА рдЬрд╛рдБрдЪ рдХрд░реЗрдВред рдпрд╣ рдХреБрдЫ рд╡реИрд╕рд╛ рд╣реА рд╣реИ рдЬреИрд╕рд╛ рд╣рдо рдХрд╛рдо рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣реЗ рд╣реИрдВ: http://stackoverflow.com/questions/2188954/see-if-user-is-part-of-active-directory-group-in-c-sharp-asp -рдЬрд╛рд▓

рддреЛ рдореИрдВ рдЙрдореНрдореАрдж рдХрд░ рд░рд╣рд╛ рдерд╛ рдХрд┐ рдЗрд╕ рдирд╛рдорд╕реНрдерд╛рди рдХреЛ CoreCLR рдореЗрдВ рдЬреЛрдбрд╝рдиреЗ рд╕реЗ, рдпрд╣ рд╣рдорд╛рд░реА рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рдорд╛рдзрд╛рди рдХрд░ рд╕рдХрддрд╛ рд╣реИ!

рдЖрдкрдХреЛ рдзрдиреНрдпрд╡рд╛рдж

area-System.DirectoryServices enhancement up-for-grabs

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

рдореИрдВ v1.1.0 (https://github.com/dotnet/corefx/milestones) рдХреЗ рд▓рд┐рдП System.DirectoryServices рдХреЛ .NET рдХреЛрд░ рдореЗрдВ рдкреЛрд░реНрдЯ рдХрд░рдиреЗ рдкрд░ рдзреНрдпрд╛рди рджреВрдВрдЧрд╛ред

рд╕рднреА 199 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

@vibronet

рдХреНрдпрд╛ рдЗрд╕ рдкрд░ рдХреЛрдИ рдЕрдкрдбреЗрдЯ рд╣реИ?

рдореИрдВ рднреА рдЗрд╕ рдкрд░ рдПрдХ рдЕрдкрдбреЗрдЯ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред рдореЗрд░реА рдХрдВрдкрдиреА рдореБрдЭреЗ рдПрдХ рдирдпрд╛ рдРрдк рдмрдирд╛ рд░рд╣реА рд╣реИ рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рдПрд▓рдбреАрдПрдкреА рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕рдХреНрд░рд┐рдп рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рд╕реЗ рдкреВрдЫрддрд╛рдЫ рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рд▓реЗрдХрд┐рди рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рд╕рдВрднрд╡ рдирд╣реАрдВ рд╣реИред рдХреНрдпрд╛ рдЗрд╕рдХреЗ рд▓рд┐рдП рдпреЛрдЬрдирд╛рдмрджреНрдз рд╕рдорд░реНрдерди рд╣реИ, рдХреНрдпрд╛ рдЗрд╕реЗ рдХрд┐рд╕реА рдФрд░ рдЪреАрдЬрд╝ рдХреЗ рдкрдХреНрд╖ рдореЗрдВ рдЫреЛрдбрд╝рд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ, рдпрд╛ рдпрд╣ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИ, рдХрд╣реАрдВ рднреА рдкреНрд░рд▓реЗрдЦрд┐рдд рдирд╣реАрдВ рд╣реИ?

рдПрд▓рдбреАрдПрдкреА рдФрд░ рд╕рдХреНрд░рд┐рдп рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рд╕рдорд░реНрдерди рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдкрд░ рдПрдХ рдирдпрд╛, рддрд╛рдЬрд╛ рд░реВрдк .NET CoreFX рдореЗрдВ рд╣реЛрдирд╛ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ред

рд╣рдореЗрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдПрдХ рд╕рдХреНрд░рд┐рдп рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛/рдПрд▓рдбреАрдПрдкреА рд╕рдорд╛рдзрд╛рди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдЬрд┐рд╕рдХрд╛ рд╣рдо .NET рдХреЛрд░ рдореЗрдВ рд▓рд╛рдн рдЙрдард╛ рд╕рдХреЗрдВред рдЪрд╛рд╣реЗ рд╡рд╣ рдХреНрд▓реАрди рд╢реАрдЯ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╣реЛ рдпрд╛ System.DirectoryServices рдХрд╛ рдкреЛрд░реНрдЯ рдореЗрд░реЗ рд▓рд┐рдП рдЙрддрдирд╛ рдорд╛рдпрдиреЗ рдирд╣реАрдВ рд░рдЦрддрд╛ред рдмрд╣реБрдд рд╕рд╛рд░реЗ рд╡реНрдпрд╡рд╕рд╛рдп-рдХреЗрдВрджреНрд░рд┐рдд рд╡рд┐рдВрдбреЛрдЬрд╝ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ рдкреВрд░реА рддрд░рд╣ рд╕реЗ AD рдкреНрд░рдорд╛рдгрди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рдФрд░ LDAP рдкреНрд░рдорд╛рдгрди рдХреНрд░реЙрд╕-рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЗ рд▓рд┐рдП рдПрдХ рдмреЗрд╣рддрд░реАрди рдлреАрдЪрд░ рдмреБрд▓реЗрдЯ рдкреЙрдЗрдВрдЯ рд╣реЛрдЧрд╛ред

рдЙрдкрд░реЛрдХреНрдд рдмреИрдХрд╡рд░реНрдб рд╕рдВрдЧрдд рдиреЛрдЯреНрд╕ рдкрд░ рд╕рд╣рдордд - рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдПрдХ рдбрд╛рдпрд░реЗрдХреНрдЯ рдкреЛрд░реНрдЯ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рд╣рдореЗрдВ рд╕рдХреНрд░рд┐рдп рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдпрд╛ рдХрд┐рд╕реА рднреА рдПрд▓рдбреАрдПрдкреА рдкреНрд░рджрд╛рддрд╛ рдХреЗ рдЦрд┐рд▓рд╛рдл рдкреНрд░рдорд╛рдгреАрдХрд░рдг (рдФрд░ рдЕрдиреНрдп рдХреНрд░рд┐рдпрд╛рдПрдВ: рдЦреЛрдЬ, рдЕрдирд▓реЙрдХ, рд╣рдЯрд╛рдПрдВ, рдЖрджрд┐) рддрдХ рдкрд╣реБрдВрдЪрдиреЗ рдХрд╛ рдПрдХ рддрд░реАрдХрд╛ рдЪрд╛рд╣рд┐рдПред .

@рдирд┐рдХрдХреНрд░рд╛рд╡рд░

рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдПрдХ рдкреНрд░рддреНрдпрдХреНрд╖ рдмрдВрджрд░рдЧрд╛рд╣ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рд╣рдореЗрдВ рд╕рдХреНрд░рд┐рдп рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХреЗ рдЦрд┐рд▓рд╛рдл рдкреНрд░рдорд╛рдгреАрдХрд░рдг [...] рддрдХ рдкрд╣реБрдВрдЪрдиреЗ рдХрд╛ рдПрдХ рддрд░реАрдХрд╛ рдЪрд╛рд╣рд┐рдП

рдпрд╣ рдЬрд╛рдирдХрд░ рдЕрдЪреНрдЫрд╛ рд▓рдЧрд╛ред рдореЗрд░реЗ рджреНрд╡рд╛рд░рд╛ рдЕрднреА-рдЕрднреА рд▓рд╛рдЧреВ рдХрд┐рдП рдЧрдП рдореЗрд░реЗ рдкреЛрд░реНрдЯ-рдЯреВ-рдХреЛрд░ рд▓реЗрдмрд▓ рдореЗрдВ рдмрд╣реБрдд рдЕрдзрд┐рдХ рди рдкрдврд╝реЗрдВред рдпрд╣ .NET рдХреЛрд░ рдСрдлрд╝рд░рд┐рдВрдЧ рдореЗрдВ рдХрдорд┐рдпреЛрдВ рдХреЛ рдЯреНрд░реИрдХ рдХрд░рдиреЗ рдХрд╛ рдореЗрд░рд╛ рддрд░реАрдХрд╛ рд╣реИ рдЬреЛ рдЖрдкрдХреЗ рдЬреИрд╕реЗ рдЧреНрд░рд╛рд╣рдХреЛрдВ рдХреЛ рдЙрдирдХреЗ рдРрдк рдХреЛ .NET рдХреЛрд░ рдореЗрдВ рдкреЛрд░реНрдЯ рдХрд░рдиреЗ рд╕реЗ рд░реЛрдХрддрд╛ рд╣реИред

@terrajobst рдЧреЛрдЪрд╛ ред рдореИрдВ рдЬрд░реВрд░реА рдирд╣реАрдВ рд╕реЛрдЪрддрд╛ рдХрд┐ рдЗрд╕рдХреА рдкреНрд░рддрд┐рд░реВрдкрдХрддрд╛ рдХреЗ рдХрд╛рд░рдг рдпрд╣ 1.0 рдЖрдЗрдЯрдо рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП (рдФрд░ рдпрд╣ _sounds_ рдЬреИрд╕рд╛ рдХрд┐ рд╡реИрд╕реЗ рднреА рдкреЛрд╕реНрдЯ-рдЖрд░рдЯреАрдПрдо рдХреЗ рд▓рд┐рдП рд╕реНрд▓реЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ), рд▓реЗрдХрд┐рди рдореИрдВ рдЗрд╕рдХреЗ рд▓рд┐рдП рддрддреНрдкрд░ рд╣реВрдВред рдпрд╣ рдореЗрд░реЗ рд▓рд┐рдП Opserver рдХреЛ рдкреЛрд░реНрдЯ рдХрд░рдиреЗ рдореЗрдВ рдПрдХ рдЕрд╡рд░реЛрдзрдХ рд╣реЛрдЧрд╛, рдЕрдЧрд░ рд╣рдо рдЙрдкрдпреЛрдЧ рдореЗрдВ рдЖ рд╕рдХрддреЗ рд╣реИрдВ рддреЛ API рдЪрд░реНрдЪрд╛рдУрдВ рдореЗрдВ рднрд╛рдЧ рд▓реЗрдиреЗ рдореЗрдВ рдЦреБрд╢реА рд╣реЛрдЧреАред рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдЪреАрдЬреЛрдВ рдХреЗ sysadmin рдкрдХреНрд╖ рдкрд░ рдЙрдкрдпреЛрдЧ рдХреЗ рдорд╛рдорд▓реЛрдВ рдХреА рдПрдХ рд╡рд┐рд╕реНрддреГрдд рд╢реНрд░реГрдВрдЦрд▓рд╛ рд╣реИ рдЬреЛ рдорджрджрдЧрд╛рд░ рд╣реЛ рд╕рдХрддреА рд╣реИ, рдЕрдЧрд░ рдореИрдВ рдорджрдж рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ рддреЛ рдкрд┐рдВрдЧ рдХрд░реЗрдВред

рдмрд╕ рдПрдХ рдФрд░ рдЯреЛрдкреА рд░рд┐рдВрдЧ рдореЗрдВ рдлреЗрдВрдХрдиреЗ рдХреЗ рд▓рд┐рдПред рдлрд┐рд▓рд╣рд╛рд▓ рдпрд╣реА рдореЗрд░реЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рдмрдбрд╝рд╛ рдЕрд╡рд░реЛрдзрдХ рднреА рдмрдЪрд╛ рд╣реИред рдмрд╕ рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдирд╛ рдЕрднреА рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдмрдбрд╝реА рдорджрдж рд╣реЛрдЧреАред

рдХреНрдпрд╛ рд╣рдореЗрдВ рдЗрд╕рдХреЗ рд▓рд┐рдП рдпреЛрдЬрдирд╛рдУрдВ рдкрд░ рджреЗрд╡ рдЯреАрдо рдХреЗ рдХрд┐рд╕реА рд╡реНрдпрдХреНрддрд┐ рд╕реЗ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдорд┐рд▓ рд╕рдХрддреА рд╣реИ, рдЕрдЧрд░ рдЗрд╕рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рдпреЛрдЬрдирд╛ рднреА рд╣реИ?

рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдПрдХ рдкреНрд░рддреНрдпрдХреНрд╖ рдмрдВрджрд░рдЧрд╛рд╣ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ

рдХреНрдпреЛрдВ? рдХреНрд╖рдорд╛ рдХрд░реЗрдВ рдореИрдВ рднреНрд░рдорд┐рдд рд╣реВрдБред рдХреНрдпрд╛ рдпрд╣ рд╕рднреА рдХреЗ рд▓рд┐рдП рдФрд░ DRY рд╕рд┐рджреНрдзрд╛рдВрдд рдХреЗ рдЕрдиреБрд╕рд╛рд░ рд╕рдмрд╕реЗ рдЖрд╕рд╛рди рд╕рдорд╛рдзрд╛рди рдирд╣реАрдВ рд╣реЛрдЧрд╛?
рдлрд┐рд░ рднреА, рдпрджрд┐ рдкреВрд░реЗ рдПрдкреАрдЖрдИ рдХреЛ рдЦрд░реЛрдВрдЪ рд╕реЗ рд▓рд┐рдЦрдиреЗ рдХрд╛ рдХреЛрдИ рдХрд╛рд░рдг рд╣реИ, рддреЛ рдкреБрд░рд╛рдиреЗ рдПрдкреАрдЖрдИ (рд╕рдорд╛рди рд╡рд┐рдзрд┐ рд╣рд╕реНрддрд╛рдХреНрд╖рд░) рдХреЗ рд╕рд╛рде рдХреБрдЫ рд╕реНрдерд┐рд░рддрд╛ рдЙрдкрднреЛрдХреНрддрд╛ рдХреЗ рд▓рд┐рдП рдХрдо рднреНрд░рдорд┐рдд рдХрд░рдиреЗ рд╡рд╛рд▓реА рд╣реЛрдЧреАред

@ jasonwilliams200OK рдореБрдЭреЗ рд╕реНрдкрд╖реНрдЯ рдХрд░рдиреЗ рджреЗрдВ, рдореЗрд░рд╛ рдорддрд▓рдм рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ DirectoryServices.ActiveDirectory рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдерд╛ред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдкреНрд░рдорд╛рдгреАрдХрд░рдг, рдФрд░ рдЗрд╕рдХреЗ рдЖрд╕-рдкрд╛рд╕ рдХреА рдЪреАрдЬреЗрдВ: рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рд╕рдореВрд╣ рд╕рджрд╕реНрдпрддрд╛ рдирд╛рдорд╕реНрдерд╛рди рдХрд╛ 95-99% рдЙрдкрдпреЛрдЧ рдХреЗрд╕ рд╣реИред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ _that_ рдХреЗ рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рдХрд╛ рд╕реАрдзрд╛ рдмрдВрджрд░рдЧрд╛рд╣ рдмрд╣реБрдд рдЙрдкрдпреЛрдЧреА рд╣реИред рдЕрдЧрд░ рдХрд┐рд╕реА рдХрд╛рд░рдг рд╕реЗ рдмрд╛рдХреА рд╡рд╛рд░рдВрдЯ рдмрджрд▓ рдЬрд╛рддреЗ рд╣реИрдВ, рддреЛ рдореИрдВ рдЗрд╕рдХреЗ рд╕рд╛рде рдмрд╣реБрдд рдареАрдХ рд╣реВрдВ, рдФрд░ рдареАрдХ рд╣реИ рдЕрдЧрд░ рдпрд╣ рдмрд╛рдж рдореЗрдВ рдЖрдпрд╛ ... рддреЛ рджрд░рд╡рд╛рдЬреЗ рд╕реЗ рдмрд╛рд╣рд░ рдирд┐рдХрд▓рдирд╛ рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдХрдИ рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдЕрд╡рд░реЛрдзрдХ рд╣реИред

рд╕рдХреНрд░рд┐рдп рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдЦреЛрдЬрдиреЗ рдФрд░ рдЙрдиреНрд╣реЗрдВ ASP.NET 5 рдХреЗ рд╕рд╛рде рдХрд╕реНрдЯрдо рднреВрдорд┐рдХрд╛рдУрдВ рдХреЗ рд╕рд╛рде рдореИрдк рдХрд░рдиреЗ рдХреА рдХрдо рд╕реЗ рдХрдо рдПрдХ рдмреБрдирд┐рдпрд╛рджреА рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреЛ рдПрдХреАрдХреГрдд рдХрд░рдиреЗ рд╕реЗ ASP.NET рд╡реЗрдм рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдореЗрдВ рд╡рд┐рдВрдбреЛрдЬ рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдореЗрдВ рдЖрд╕рд╛рдиреА рд╣реЛрдЧреАред рд╣рдореЗрдВ рдЕрдкрдиреА рдЗрдВрдЯреНрд░рд╛рдиреЗрдЯ рд╕рд╛рдЗрдЯ рдкрд░ рдЗрд╕ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

рдпрд╣ рд╣рдорд╛рд░реЗ рд▓рд┐рдП рднреА рдЕрд╡рд░реЛрдзрдХ рд╣реИред рд╣рдореЗрдВ рдПрд▓рдбреАрдПрдкреА рд╕рд░реНрд╡рд░ рдХреЗ рдЦрд┐рд▓рд╛рдл рдкреНрд░рдорд╛рдгреАрдХрд░рдг, рдХреНрд╡реЗрд░реА рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдФрд░ рд╕рдореВрд╣реЛрдВ, рдирдП рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдФрд░ рд╕рдореВрд╣ рдЖрджрд┐ рдмрдирд╛рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред

рдпрд╣ рдореЗрд░реЗ рд▓рд┐рдП рдПрдХ рдЕрд╡рд░реЛрдзрдХ рднреА рд╣реИ - рдореБрдЭреЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рд╕реЗ рдкреВрдЫрддрд╛рдЫ рдФрд░ рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

рдореИрдВ .NET Core rc1 рд╡реЗрдм рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЗрдВ рд╕рдХреНрд░рд┐рдп рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХреЗ рд╡рд┐рд░реБрджреНрдз рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рдорд╛рдзрд╛рди рд▓реЗрдХрд░ рдЖрдпрд╛ рд╣реВрдВред рдЖрдкрдХреЛ рдмрд╕ UserManager рд╡рд░реНрдЧ рдореЗрдВ CheckPasswordAsync рд╡рд┐рдзрд┐ рдХреЛ рдУрд╡рд░рд░рд╛рдЗрдб рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рдЖрдк рдХреНрдпрд╛ рд╕реЛрдЪрддреЗ рд╣реИрдВ рдореБрдЭреЗ рдмрддрд╛рдУред

рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ рдЖрдкрдХреЛ рдПрдХ рдХрд╕реНрдЯрдо рд░рдЬрд┐рд╕реНрдЯрд░ рдкреЗрдЬ рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдЬреЛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдИрдореЗрд▓ рдкрддреЗ рдФрд░ рдкрд╛рд╕рд╡рд░реНрдб рдХреЗ рдмрдЬрд╛рдп рдПрдбреА рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдо рдЗрдирдкреБрдЯ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рд╡рд╣ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдо ApplicationUser рд╡рд░реНрдЧ рдХреЗ UserName рдЧреБрдг рдореЗрдВ рдЬрд╛рддрд╛ рд╣реИ рдЬреЛ ASP.NET 5 рдЯреЗрдореНрдкрд▓реЗрдЯ рджреНрд╡рд╛рд░рд╛ рдЙрддреНрдкрдиреНрди рд╣реЛрддрд╛ рд╣реИ рдЬрдм рдЖрдкрдиреЗ рд╡реНрдпрдХреНрддрд┐рдЧрдд рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЦрд╛рддрд╛ рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдЪреБрдирд╛ рдерд╛ред рд╕рд╛рде рд╣реА, рдЖрдкрдХреЛ рдкрд╛рд╕рд╡рд░реНрдб рдкреНрд░реЙрдкрд░реНрдЯреА рдХреЛ рдХрд┐рд╕реА рдРрд╕реА рдЪреАрдЬрд╝ рдкрд░ рдбрд┐рдлреЙрд▓реНрдЯ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ рдЬреЛ IdentityUser рдХреНрд▓рд╛рд╕ рдореЗрдВ рдЖрдВрддрд░рд┐рдХ рд╕рддреНрдпрд╛рдкрди рдкрд╛рд╕ рдХрд░рддрд╛ рд╣реИред

рдореЗрд░рд╛ рд░рдЬрд┐рд╕реНрдЯрд░ рдкреЗрдЬ рдХрдВрдЯреНрд░реЛрд▓рд░ рдПрдХ рд╡реЗрдм рдПрдкреАрдЖрдИ 2 рд╡рд┐рдзрд┐ рдХреЛ рдХреЙрд▓ рдХрд░рддрд╛ рд╣реИ рдЬреЛ рдПрдбреА рдореЗрдВ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдо рдвреВрдВрдврддрд╛ рд╣реИ рдФрд░ рдЙрд╕ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд▓рд┐рдП рдПрдбреА рдЬрд╛рдирдХрд╛рд░реА рд░рдЦрдиреЗ рд╡рд╛рд▓рд╛ JSON рджреЗрддрд╛ рд╣реИред рдореИрдВрдиреЗ AD рдЬрд╛рдирдХрд╛рд░реА рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП ApplicationUser рд╡рд░реНрдЧ рдореЗрдВ рдХреБрдЫ рдХрд╕реНрдЯрдо рдЧреБрдг рдЬреЛрдбрд╝реЗ рд╣реИрдВред рдореИрдВ рдЕрдЧрд▓реЗ рд╣рдлреНрддреЗ рдЕрдкрдиреЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╕реЗ рдХреЛрдб рдкреЛрд╕реНрдЯ рдХрд░реВрдВрдЧрд╛ред

рдлрд┐рд░ рд╕рд░реНрд╡рд┐рд╕реЗрдЬ рдлреЛрд▓реНрдбрд░ рдореЗрдВ рдХреНрд▓рд╛рд╕ рдлрд╛рдЗрд▓ рдЬреЛрдбрд╝реЗрдВред рдореИрдВрдиреЗ рдЕрдкрдирд╛ рдирд╛рдо ApplicationUserManager.cs рд░рдЦрд╛ рд╣реИред рдиреАрдЪреЗ рджрд┐рдП рдЧрдП рдХреЛрдб рдХреЛ рдЙрд╕ рдХреНрд▓рд╛рд╕ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдЬреЛрдбрд╝реЗрдВред

using System;
using System.Collections.Generic;
using System.Threading.Tasks;
using Microsoft.AspNet.Http;
using Microsoft.AspNet.Identity;
using Microsoft.Extensions.Logging;
using Microsoft.Extensions.OptionsModel;
using [YourApp].Models;

namespace [YourApp].Services
{
    public class ApplicationUserManager : UserManager<ApplicationUser>
    {
        public ApplicationUserManager(IUserStore<ApplicationUser> store, IOptions<IdentityOptions> optionsAccessor, IPasswordHasher<ApplicationUser> passwordHasher,
                                      IEnumerable<IUserValidator<ApplicationUser>> userValidators, IEnumerable<IPasswordValidator<ApplicationUser>> passwordValidators,
                                      ILookupNormalizer keyNormalizer, IdentityErrorDescriber errors, IServiceProvider services, ILogger<UserManager<ApplicationUser>> logger,
                                      IHttpContextAccessor contextAccessor)
        : base(store, optionsAccessor, passwordHasher, userValidators, passwordValidators, keyNormalizer, errors, services, logger, contextAccessor)
        {

        }

        public override async Task<bool> CheckPasswordAsync(ApplicationUser user, string password)
        {
            //Pass user.UserName and password to an ASP.NET Web API 2 method that 
            //does the Active Directory authentication and returns a bool.
        }
    }
}

рдлрд┐рд░ Startup.cs рдлрд╝рд╛рдЗрд▓ рдЦреЛрд▓реЗрдВред рдЬреЛрдбрд╝реЗрдВ .AddUserManager() ConfigureServices рд╡рд┐рдзрд┐ рдореЗрдВ AddIdentity рдХреЙрд▓ рдХреЗ рд▓рд┐рдП рдЬреИрд╕рд╛ рдХрд┐ рдиреАрдЪреЗ рджрд┐рдЦрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред

services.AddIdentity<ApplicationUser, IdentityRole>()
       .AddEntityFrameworkStores<ApplicationDbContext>()
       .AddUserManager<ApplicationUserManager>()
       .AddDefaultTokenProviders();

рдпрд╣ рдХрдо рд╕реЗ рдХрдо рдореБрдЭреЗ DirectoryServices рд╕рдорд░реНрдерди рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░рддреЗ рд╣реБрдП рдиреАрддрд┐/рджрд╛рд╡рд╛ рдЖрдзрд╛рд░рд┐рдд рдкреНрд░рд╛рдзрд┐рдХрд░рдг рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред

рдореИрдВ рдЗрд╕ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдкрд░ рдирд┐рд░реНрднрд░ рд╣реВрдВред рдпрд╣ рд╢рд░реНрдо рдХреА рдмрд╛рдд рд╣реИ рдХрд┐ рдореИрдВ рдЕрднреА рдкреЛрд░реНрдЯ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ред

@ClintBailiff рдореБрдЭреЗ рдпрд╣рд╛рдВ рдЭрдВрдХрд╛рд░ рдХрд░рдирд╛ рд╣реИ - рдХреНрдпреЛрдВрдХрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рдкрд╛рд╕рд╡рд░реНрдб рдХреЛ рдлрд┐рд░ рд╕реЗ рд╡рд╛рдпрд░ рдХреЗ рдкрд╛рд░ рдкреНрд▓реЗрдирдЯреЗрдХреНрд╕реНрдЯ рдореЗрдВ рдХрд┐рд╕реА рдЕрдиреНрдп рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдкрд░ рд░рд┐рд▓реЗ рдХрд░рдирд╛ рдПрдХ _really_ рдмреБрд░рд╛ рд╡рд┐рдЪрд╛рд░ рд╣реИред рдХреГрдкрдпрд╛, рдЗрд╕ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХрд╛ рдкреНрд░рдпреЛрдЧ рди рдХрд░реЗрдВред рдпрд╣ рдПрдХ рд╕реБрд░рдХреНрд╖рд╛ рдЫреЗрдж рд╣реИред

@terrajobst рдпрд╣ рдореЗрд░реЗ рдмрдбрд╝реЗ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдЬреИрд╕реЗ рдХрд┐ Opserver рдХреЛ рдкреЛрд░реНрдЯ рдХрд░рдиреЗ рдореЗрдВ рдЕрд╡рд░реЛрдзрдХ рд╣реЛрдЧрд╛ - рдХреНрдпрд╛ рд╣рдо рдЗрд╕реЗ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рджреЗ рд╕рдХрддреЗ рд╣реИрдВ?

@NickCraver рдореИрдВрдиреЗ рдХрднреА рднреА рдХреНрд░реЗрдбреЗрдВрд╢рд┐рдпрд▓реНрд╕ рдХреЛ рдкреНрд▓реЗрдирдЯреЗрдХреНрд╕реНрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рдкрд╛рд╕ рдХрд░рдиреЗ рдХрд╛ рд╕реБрдЭрд╛рд╡ рдирд╣реАрдВ рджрд┐рдпрд╛ред рдПрдХ рдирд┐рдпрдо рдХреЗ рд░реВрдк рдореЗрдВ рдореИрдВ рдЕрдкрдиреЗ рд╕рднреА рд╡реЗрдм рдПрдкреНрд▓рд┐рдХреЗрд╢рди/рд╕реЗрд╡рд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдПрд╕рдПрд╕рдПрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ рдХреНрдпреЛрдВрдХрд┐ рд╡реЗ рдЖрдо рддреМрд░ рдкрд░ рдбреЗрдЯрд╛ рд▓реМрдЯрд╛рддреЗ рд╣реИрдВ рдЬреЛ рдХреЗрд╡рд▓ рдЕрдзрд┐рдХреГрдд рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рд╣реА рджреЗрдЦрдирд╛ рдЪрд╛рд╣рд┐рдПред рдореИрдВрдиреЗ рдпрд╣ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдирд╣реАрдВ рд╕реЛрдЪрд╛ рдерд╛ рдХреНрдпреЛрдВрдХрд┐ рд╢рд╛рдпрдж рдпрд╣ рдЗрддрдирд╛ рд╕реНрдкрд╖реНрдЯ рд╣реИ рдХрд┐ рдЖрдк рд╕рд╛рджреЗ рдЯреЗрдХреНрд╕реНрдЯ рдореЗрдВ рдкреНрд░рдорд╛рдг-рдкрддреНрд░ рдирд╣реАрдВ рднреЗрдЬрдирд╛ рдЪрд╛рд╣реЗрдВрдЧреЗред

рдореИрдВ рдХрдо рд╕реЗ рдХрдо System.DirectoryServices.Protocols рдХрд╛ рдПрдХ рдмрдВрджрд░рдЧрд╛рд╣ рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░реВрдВрдЧрд╛ред рд╣рдордиреЗ рд╣рд╛рд▓ рд╣реА рдореЗрдВ рдПрд▓рдбреАрдПрдкреА рд╕рд░реНрд╡рд░реЛрдВ рдХреА рдПрдХ рдмрдбрд╝реА рд░реЗрдВрдЬ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣рдорд╛рд░реЗ рдПрд▓рдбреАрдПрдкреА-рд╕рдВрдмрдВрдзрд┐рдд рдХреЛрдб рдХреЛ рдЗрд╕рдореЗрдВ рдмрджрд▓ рджрд┐рдпрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ System.DirectoryServices.ActiveDirectory рдиреЗрдорд╕реНрдкреЗрд╕ рдХреЗрд╡рд▓ рдПрдбреА рд╕рд░реНрд╡рд░ рд╕реЗ рдмрд╛рдд рдХрд░рдирд╛ рдкрд╕рдВрдж рдХрд░рддрд╛ рд╣реИред

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ, рддреАрд╕рд░реЗ рдкрдХреНрд╖ рдХреЗ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреЗ рд▓рд┐рдП рдЗрд╕ рддрд░рд╣ рдХреЗ рд╕рдорд░реНрдерди рдХреЛ рд╕реНрдкрд┐рди рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реЛрдЧрд╛, рд▓реЗрдХрд┐рди рдЪреВрдВрдХрд┐ рдпрд╣ рдврд╛рдВрдЪреЗ рдореЗрдВ рдкрд╣рд▓реЗ рд╕реЗ рдореМрдЬреВрдж рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореИрдВ рдХрд▓реНрдкрдирд╛ рдХрд░рддрд╛ рд╣реВрдВ рдХрд┐ рдПрдХ рдмрдВрджрд░рдЧрд╛рд╣ рдЖрд╕рд╛рди рд╣реЛрдЧрд╛ред

рдбрдмреНрд▓реНрдпреВрдЯреАрдПрдл рдПрдПрд╕рдкреА рдЯреАрдо рдпрд╣ рдмреБрдирд┐рдпрд╛рджреА рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдкреНрд░рджрд╛рди рдирд╣реАрдВ рдХрд░ рд░рд╣реА рд╣реИ
рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдПрдХ рдЕрд╡рд░реЛрдзрдХ рдореБрджреНрджрд╛ рд╣реИ :(

CoreCLR рдореЗрдВ LDAP рд╕рдкреЛрд░реНрдЯ рдкрд░ рдХреЛрдИ рдЕрдкрдбреЗрдЯ?

рдореИрдВ рдЗрд╕ рдкрд░ рдПрдХ рдЕрдкрдбреЗрдЯ рднреА рдЪрд╛рд╣реВрдВрдЧрд╛ред рдореИрдВ ASP.NET рдХреЛрд░ рдХреЗ рд╕рд╛рде рдПрдХ рдПрдВрдЯрд░рдкреНрд░рд╛рдЗрдЬрд╝ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╡рд┐рдХрд╕рд┐рдд рдХрд░ рд░рд╣рд╛ рд╣реВрдБ, рдЬрд┐рд╕реЗ AD-рд╕рд░реНрд╡рд░ рдХреЗ рд╡рд┐рд░реБрджреНрдз рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдкреНрд░рдорд╛рдгрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

рдореИрдВ v1.1.0 (https://github.com/dotnet/corefx/milestones) рдХреЗ рд▓рд┐рдП System.DirectoryServices рдХреЛ .NET рдХреЛрд░ рдореЗрдВ рдкреЛрд░реНрдЯ рдХрд░рдиреЗ рдкрд░ рдзреНрдпрд╛рди рджреВрдВрдЧрд╛ред

@joshfree
рдореБрдЭреЗ ADLDS рдХреЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рднреА рдкреНрд░рдорд╛рдгрд┐рдд рдХрд░рдирд╛ рд╣реИ рдХреГрдкрдпрд╛ System.DirectoryServices.AccountManagement рдкрд░ рднреА рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ

рдХреБрдЫ рд╕рд╛рд▓ рдкрд╣рд▓реЗ рдЬрд┐рд╕ рдХрдВрдкрдиреА рдХреЗ рд▓рд┐рдП рдореИрдВрдиреЗ рдХрд╛рдо рдХрд┐рдпрд╛, рдЙрд╕рдиреЗ рдиреЛрд╡реЗрд▓ (рдореЛрдиреЛ) рдПрд▓рдбреАрдПрдкреА рд▓рд╛рдЗрдмреНрд░реЗрд░реА рд╕реЛрд░реНрд╕ рдХреЛрдб рд▓рд┐рдпрд╛ рддрд╛рдХрд┐ рд╣рдорд╛рд░рд╛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдПрдХреНрдЯрд┐рд╡ рдбрд╛рдпрд░реЗрдХреНрдЯреНрд░реА, рдУрдкрдирдПрд▓рдбреАрдПрдкреА рдФрд░ рдУрд░реЗрдХрд▓ рд╕рд┐рд╕реНрдЯрдо рд╕реЗ рдмрд╛рдд рдХрд░ рд╕рдХреЗ, рдФрд░ рд╣рдордиреЗ рдкреЗрдЬреЗрдб рдХрдВрдЯреНрд░реЛрд▓ рдХреЗ рд▓рд┐рдП рд╕рдкреЛрд░реНрдЯ рдЬреЛрдбрд╝рд╛ рдФрд░ рдХреБрдЫ рдЯреАрдПрд▓рдПрд╕ рдлрд┐рдХреНрд╕ рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд┐рдпрд╛ред рд╣рдордиреЗ рдРрд╕рд╛ рдЗрд╕рд▓рд┐рдП рдХрд┐рдпрд╛ рдХреНрдпреЛрдВрдХрд┐ рд╣рдо рд▓рд┐рдирдХреНрд╕ рдкрд░ рдЪрд▓рдирд╛ рдЪрд╛рд╣рддреЗ рдереЗред рд╣рдорд╛рд░реЗ рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЗ рд╕рд╛рде рдПрдХ рдкреАрдЖрд░ рдорд╛рд▓рд┐рдХреЛрдВ рдХреЛ рднреЗрдЬрд╛ рдЧрдпрд╛ рдерд╛ред рдЬреИрд╕рд╛ рдХрд┐ рдЕрдм рд╣рдо CoreCLR рдкрд░ рдЬрд╛рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдХрд┐ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреЛ RC2 рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдпрд╣рд╛рдВ рдХрд╛рдо рд╢реБрд░реВ рд╣реЛ рдЧрдпрд╛ рд╣реИ https://github.com/VQComms/CsharpLDAP/pull/1 , 17 рдХрдВрдкрд╛рдЗрд▓рд░ рддреНрд░реБрдЯрд┐рдпрд╛рдВ рдмрд╛рдХреА рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ рд╕рдВрдмреЛрдзрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рд╡реЗ рдореБрдЦреНрдп рд░реВрдк рд╕реЗ Thread.Abort , ThreadInterruptedException рд╣реИрдВ, рдЬреЛ рдореЛрдиреЛ рд╕реЗ рдХреЛрд░рд╕реАрдПрд▓рдЖрд░ рдореЗрдВ рдЯреАрдПрд▓рдПрд╕ рд╕реНрдЯреНрд░реАрдо рдХреА рдЬрдЧрд╣ рд▓реЗрддреЗ рд╣реИрдВ SslStream рдпрджрд┐ рдХреЛрдИ рджрд┐рд▓рдЪрд╕реНрдкреА рд░рдЦрддрд╛ рд╣реИ рдФрд░ рдХреЛрд░рд╕реАрдПрд▓рдЖрд░ рдХреЗ рд▓рд┐рдП рдПрд▓рдбреАрдПрдкреА рд╕рдорд░реНрдерди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рддреЛ рдорджрдж рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрд╡рддрдВрддреНрд░ рдорд╣рд╕реВрд╕ рдХрд░реЗрдВред

рдореИрдВрдиреЗ рдкреБрд╖реНрдЯрд┐ рдХреА рд╣реИ рдХрд┐ ASP.NET рдХреЛрд░ рд╡реЗрдм рдПрдкреНрд▓рд┐рдХреЗрд╢рди (.NET Framework) RC2 рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдПрдХ рдХреНрд▓рд╛рд╕ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЛ рд╕рдВрджрд░реНрднрд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдЬреЛ System.DirectoryServices.AccountManagement рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред рдореИрдВ рдЗрд╕реЗ рдХреЗрд╡рд▓ рддрднреА рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ рдЬрдм рд╡реАрдПрд╕ 2015 рдЕрдкрдбреЗрдЯ 2 рдХреЗ рд╕рд╛рде рд╡реЗрдм рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдФрд░ рдХреНрд▓рд╛рд╕ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рджреЛрдиреЛрдВ рдмрдирд╛рдП рдЬрд╛рддреЗ рд╣реИрдВ рдФрд░ рджреЛрдиреЛрдВ .NET Framework 4.6.1 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред

рджреВрд╕рд░реЛрдВ рдХреА рднрд╛рд╡рдирд╛рдУрдВ рдХреЛ рдкреНрд░рддрд┐рдзреНрд╡рдирд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо LDAP рдФрд░ рдЗрд╕реА рддрд░рд╣ рдХреА рдХреНрд╡реЗрд░реА рдХрд┐рдП рдмрд┐рдирд╛ рдкрд╛рдиреА рдХреЗ рдкреЛрд░реНрдЯрд┐рдВрдЧ рдореЗрдВ рдореГрдд рд╣реИрдВред

@h3рд╕реНрдорд┐рде
рдореЗрд░реА рдкрд┐рдЫрд▓реА рдкреЛрд╕реНрдЯ рджреЗрдЦреЗрдВред RC2 рдХреЗ рдЬрд╛рд░реА рд╣реЛрдиреЗ рдХреЗ рд╕рд╛рде рдЕрдм рдЖрдк рдПрдХ рдХреНрд▓рд╛рд╕ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХрд╛ рд╕рдВрджрд░реНрдн рджреЗ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ System.DirectoryServices.AccountManagement рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреА рд╣реИред

рдиреЗрдЯрд╕реНрдЯреИрдВрдбрд░реНрдб рдкрд░ рдирд╣реАрдВред

рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВ рдХрд╣рддрд╛ рд╣реВрдВ, рд╣рдо рдЗрд╕реЗ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВред рдЙрдореНрдореАрдж рд╣реИ
рд▓рдЧрднрдЧ 2-3 рд╕рдкреНрддрд╛рд╣ рдореЗрдВ рдХреБрдЫ

рд╢реБрдХреНрд░рд╡рд╛рд░, 17 рдЬреВрди 2016 рдХреЛ, рдХреНрд▓рд┐рдВрдЯрди рдмреЗрд▓реАрдл рдиреЛрдЯрд┐рдлрд┐рдХреЗрд╢рди @github.com рдиреЗ рд▓рд┐рдЦрд╛:

@h3smith https://github.com/h3smith
рдореЗрд░реА рдкрд┐рдЫрд▓реА рдкреЛрд╕реНрдЯ рджреЗрдЦреЗрдВред RC2 рдХреЗ рдЬрд╛рд░реА рд╣реЛрдиреЗ рдХреЗ рд╕рд╛рде рдЕрдм рдЖрдк a рдХрд╛ рд╕рдВрджрд░реНрдн рд▓реЗ рд╕рдХрддреЗ рд╣реИрдВ
рдХреНрд▓рд╛рд╕ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдЬреЛ _System.DirectoryServices.AccountManagement_ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреА рд╣реИред

-
рдЖрдк рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдиреЗ рдЯрд┐рдкреНрдкрдгреА рдХреА рдереАред
рдЗрд╕ рдИрдореЗрд▓ рдХрд╛ рд╕реАрдзреЗ рдЙрддреНрддрд░ рджреЗрдВ, рдЗрд╕реЗ GitHub рдкрд░ рджреЗрдЦреЗрдВ
https://github.com/dotnet/corefx/issues/2089#issuecomment -226837679, рдпрд╛ рдореНрдпреВрдЯ рдХрд░реЗрдВ
рд╕реВрддреНрд░
https://github.com/notifications/unsubscribe/AAGapiY8HNzdakVdStwCFqvReT6kfSTcks5qMt_wgaJpZM4FF2fx
.

рдЗрд╕ рдкрд░ рдХреЛрдИ рдЕрдкрдбреЗрдЯ? рдореБрдЭреЗ рдХреЙрд▓рд┐рдВрдЧ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдкреНрд░рдорд╛рдгрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЬрдм рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд▓реИрди рдкрд░ рдПрдХ рдХреЛрдгреАрдп рд╡реЗрдм рдРрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реИ, рдПрдбреА рдореЗрдВ рд▓реЙрдЧ рдЗрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдПрд╕реНрдкрдиреЗрдЯ рдХреЛрд░ рдЖрд░рд╕реА 2 рдореЗрдВ рдПрдХ рд╡реЗрдмрдПрдкреАрдЖрдИ рдирд┐рдпрдВрддреНрд░рдХ рд╡рд┐рдзрд┐ (рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рджреНрд╡рд╛рд░рд╛ рд╡реЗрдм рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рдкрд╛рд╕рд╡рд░реНрдб рджрд░реНрдЬ рдХрд┐рдП рдмрд┐рдирд╛) рдХреЛ рдХреЙрд▓ рдХрд░ рд░рд╣рд╛ рд╣реИред рд╕рдВрднрд╡? рдЬрд▓реНрдж рд╣реА рд╕рдВрднрд╡ рд╣реИ?

рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ рдХреНрд▓рд╛рдЗрдВрдЯ рд╕реЗ рдЕрдкрдиреЗ http рдЕрдиреБрд░реЛрдзреЛрдВ рдореЗрдВ рдХреЗрд╡рд▓ рдХреНрд░реЗрдбреЗрдВрд╢рд┐рдпрд▓ рдХреЗ рд╕рд╛рде рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдлрд┐рд░ рдЖрдк User.Identity рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЕрдкрдиреЗ рдирд┐рдпрдВрддреНрд░рдХреЛрдВ рдореЗрдВ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЬрд╛рдирдХрд╛рд░реА рдФрд░ рджрд╛рд╡реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдпрд╣ рдпрд╛рдиреА рдФрд░ рдХреНрд░реЛрдо рдореЗрдВ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рд▓реЗрдХрд┐рди рдлрд╝рд╛рдпрд░рдлрд╝реЙрдХреНрд╕ рдХреЗ рд╕рд╛рде рдПрдХ рдкреЙрдкрдЕрдк рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ Le рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдЙрдирдХреЗ рд╡рд┐рдВрдбреЛрдЬрд╝ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдФрд░ рдкрд╛рд╕рд╡рд░реНрдб рдореЗрдВ рджрд┐рдЦрд╛рдпрд╛ рдЬрд╛рдПрдЧрд╛

рд╣рдордиреЗ рд▓рдЧрднрдЧ рджреЛ рдорд╣реАрдиреЗ рдкрд╣рд▓реЗ рдЗрд╕реА рдореБрджреНрджреЗ рдХреЛ рдорд╛рд░рд╛ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕реНрдЯреЛрд░ рдХреЗ рд░реВрдк рдореЗрдВ рдПрд▓рдбреАрдПрдкреА рд╕рд░реНрд╡рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕)ред рд╣рдореЗрдВ рдиреЛрд╡реЗрд▓ рдПрд▓рдбреАрдПрдкреА рд▓рд╛рдЗрдмреНрд░реЗрд░реА (https://www.novell.com/developer/ndk/ldap_libraries_for_c_sharp.html) рдХреЛ .net рдХреЛрд░ рдореЗрдВ рдкреЛрд░реНрдЯ рдХрд░рдиреЗ рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдХреЛрдИ рд╕рдорд╛рдзрд╛рди рдирд╣реАрдВ рдорд┐рд▓рд╛ (рдпрд╣рд╛рдВ рджреЗрдЦреЗрдВ https://github.com/dsbenghe/Novell. Directory.Ldap.NETStandard)ред рдПрдХ рдирдЧреЗрдЯ рдкреИрдХреЗрдЬ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рд╣рдо OpenDJ LDAP рд╕рд░реНрд╡рд░ рдХреЗ рд╕рд╛рде рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ (рдХрд┐рд╕реА рднреА LDAP рд╕рд░реНрд╡рд░ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП) - 1.5 рдорд╣реАрдиреЗ рдХреЗ рдЙрдкрдпреЛрдЧ рдореЗрдВ рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реИред

@dsbenghe рд╣рдордиреЗ рдЕрднреА-рдЕрднреА рдЕрдкрдирд╛ рдиреЛрд╡реЗрд▓ LDAP рд▓рд┐рдм рдиреЗрдЯрд╕реНрдЯреИрдВрдбрд░реНрдб рдкрд░ рд╕рдВрдХрд▓рд┐рдд рдХрд┐рдпрд╛ рд╣реИ, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдкреЗрдЬрд┐рдВрдЧ рднреА рд╣реИред рдпрд╣ @igorshmukler рджреНрд╡рд╛рд░рд╛ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдХреНрдпрд╛ рдЖрдк рддреБрд▓рдирд╛ рдФрд░ рд╕рд╣рдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣реЗрдВрдЧреЗ? рд╣рдорд╛рд░рд╛ рдпрд╣рд╛рдВ рдбрдмреНрд▓реНрдпреВрдЖрдИрдкреА рд╣реИ https://github.com/VQComms/CsharpLDAP/tree/coreclrPort

@dsbenge рдЗрд╕рдХреЗ .NET рдХреЛрд░ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдкрд░ рдЖрдкрдХреЗ рдХрд╛рдо рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред
nuget рдкреИрдХреЗрдЬ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рдореИрдВрдиреЗ рдпрд╣ рдЬрд╛рдВрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдирд┐рдореНрди рдХреЛрдб рдмрдирд╛рдпрд╛ рд╣реИ рдХрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХрд╛ ActiveDirectory рдкрд╛рд╕рд╡рд░реНрдб рд╕рд╣реА рд╣реИ рдпрд╛ рдирд╣реАрдВ

using Novell.Directory.Ldap;

private async Task<JsonResult> LoginActiveDirectory(LoginModel model)
{
    var user = await _userManager.FindByNameAsync(model.Username);
    if (user != null)
    {
        var result = AuthenticateWithActiveDirectory(model.Username, model.Password);
        if(result == string.Empty)
        {
            await _signInManager.SignInAsync(user, false);
            return Json(new LoginResult {Success = true});
        }
        return Json(new LoginResult { Success = false, Message = result });
    }

    return Json(new LoginResult { Success = false, Message = "User not found in local database" });
}

рдпрд╣ AuthenticateWithActiveDirectory рдХреЛ рдХреЙрд▓ рдХрд░рддрд╛ рд╣реИ:

private string AuthenticateActiveDirectory(string username, string password)
{
    const int ldapVersion = LdapConnection.Ldap_V3;
    var conn = new LdapConnection();

    try
    {
        conn.Connect(_loginSettings.LdapHost, _loginSettings.LdapPort);
        conn.Bind(ldapVersion, $"{_loginSettings.LdapDomain}\\{username}", password);
        conn.Disconnect();
    }
    catch (LdapException e)
    {
        return e.Message;
    }
    catch (System.IO.IOException e)
    {
        return e.Message;
    }

    return string.Empty;
}

рдФрд░ рдХреЛрдгреАрдп рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдХреЛ рдпрд╣ рдмрддрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рд╛рдзрд╛рд░рдг рд╕рд╣рд╛рдпрдХ рд╡рд░реНрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рд╣реЛ рд░рд╣рд╛ рд╣реИ

public class LoginResult
{
    public bool Success { get; set; }
    public string Message { get; set; }
}

UWP рдХреЗ рд▓рд┐рдП, рд╣рдорд╛рд░реЗ UserVoice рдкрд░ рдЗрд╕ рд╕реБрд╡рд┐рдзрд╛ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрдиреБрд░реЛрдз рд╣реИ: https://wpdev.uservoice.com/forums/110705/suggestions/12556779

cc @tquerec @jimuphaus рдЬреЛ .NET рдХреЛрд░ рдХреЗ рд▓рд┐рдП System.DirectoryServices рд╕рдкреЛрд░реНрдЯ рдкрд░ рдХрд╛рдо рдХрд░реЗрдЧрд╛ред

рдЗрдВрддрдЬрд╛рд░ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛! рдИрдЯреАрдП? рдбрд┐рдЬрд╛рдЗрди рдЪрд╢реНрдорд╛?

рдЬрдм рдЗрд╕реЗ рдЕрдВрдд рдореЗрдВ рдкреЛрд░реНрдЯ рдХрд░ рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рддреЛ рдХреНрдпрд╛ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдЗрд╕ рддрдХ рдкрд╣реБрдВрдЪ рд╣реЛрдЧреА:

using(var context = new PrincipalContext(ContextType.Domain, "Domain"))
     return context.ValidateCredentials("user", "password");

рдореБрдЭреЗ рдкрддрд╛ рд╣реИ рдХрд┐ рдЙрд╕ рдирд╛рдорд╕реНрдерд╛рди рдореЗрдВ рдХреБрдЫ рдорд╛рдореВрд▓реА рджреЛрд╖ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдлрд┐рд░ рднреА рдпрд╣ рдХрд╛рдлреА рдорджрджрдЧрд╛рд░ рд╣реИред

@GArrigotti рдкрд░реАрдХреНрд╖рдг рдореЗрдВ, LdapDirectoryIdentifier рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЖрдорддреМрд░ рдкрд░ рдкреНрд░рд┐рдВрд╕рд┐рдкрд▓ рдХреЙрдиреНрдЯреЗрдХреНрд╕реНрдЯ рд╕реЗ рддреЗрдЬрд╝ рд╣реЛрддрд╛ рд╣реИред

using System.DirectoryServices.Protocols;
/////////
try
{
    using (LdapConnection conn = new LdapConnection(new LdapDirectoryIdentifier(domain)))
    {
        conn.Bind(new System.Net.NetworkCredential(username, password, domain));
        return true;
    }
}
catch (LdapException e)
{
    return false;  
}

рдХреНрдпрд╛ рдХреЛрдИ рдИрдЯреАрдП рд╣реИ? рдореИрдВ рдЗрд╕реЗ рдЗрд╕ рдорд╣реАрдиреЗ рдХреЗ рдЕрдВрдд рдореЗрдВ рдкреВрд░рд╛ рд╣реЛрдиреЗ рд╡рд╛рд▓реЗ рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ ...

@johnkwaters рдХреНрдпрд╛ рдХреЛрдИ рдХрд╛рд░рдг рд╣реИ рдХрд┐ рдЖрдк AD рдХреЛрдб рдХреЛ рдХреНрд▓рд╛рд╕ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдореЗрдВ рдирд╣реАрдВ рдбрд╛рд▓ рд╕рдХрддреЗ рд╣реИрдВ? рдХреБрдЫ рд▓реЛрдЧреЛрдВ (рдореЗрд░реЗ рд╕рд╣рд┐рдд) рдХреЛ ASP.NET рдХреЛрд░ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЗрдВ рд▓реАрдЧреЗрд╕реА рдХреНрд▓рд╛рд╕ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЛ рд╕рдВрджрд░реНрднрд┐рдд рдХрд░рдиреЗ рдореЗрдВ рд╕рдорд╕реНрдпрд╛ рд╣реБрдИ рд╣реИред рд▓реЗрдХрд┐рди рдЕрдЧрд░ рдЖрдк рд╡реАрдПрд╕ 2015 рдЕрдкрдбреЗрдЯ 3 рдореЗрдВ рд╡реЗрдм рдРрдк рдФрд░ рдХреНрд▓рд╛рд╕ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдмрдирд╛рддреЗ рд╣реИрдВ рдФрд░ рд╡реЗрдм рдРрдк рдФрд░ рдХреНрд▓рд╛рд╕ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдореЗрдВ .NET Framework 4.61 рдХреЛ рд▓рдХреНрд╖рд┐рдд рдХрд░рддреЗ рд╣реИрдВ рддреЛ рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реИред

рдХреНрдпрд╛ рдХреЛрдИ рдХрд╛рд░рдг рд╣реИ рдХрд┐ рдЖрдк рдХрдХреНрд╖рд╛ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдореЗрдВ рдПрдбреА рдХреЛрдб рдирд╣реАрдВ рдбрд╛рд▓ рд╕рдХрддреЗ рд╣реИрдВ?

рдХреНрдпрд╛ рдЖрдкрдХрд╛ рдорддрд▓рдм .NET Core TxM рдХреЗ рд▓рд┐рдП Project.json рдореЗрдВ PCL рдХреЗ рдмрд╛рдж "imports": "portable-net45+win8" рд╣реИ? рдЗрд╕рдХреЗ рд▓рд┐рдП рдореЛрдиреЛ рдкреАрд╕реАрдПрд▓ рд╕рдВрджрд░реНрдн рдЕрд╕реЗрдВрдмрд▓рд┐рдпреЛрдВ рдХреЛ рдпреВрдирд┐рдХреНрд╕ рдкрд░ рдЙрдкрд╕реНрдерд┐рдд рд╣реЛрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА, рди рдХрд┐ "рд╢реБрджреНрдз рдбреЛрдиреЗрдЯ-рдХреЛрд░" рд╕рдорд╛рдзрд╛рди, рдЬреЛ рдпреВрдирд┐рдХреНрд╕ рдкрд░ рдЖрддреНрдордирд┐рд░реНрднрд░рддрд╛ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред рдпрд╣ рдХрдВрдкрд╛рдЗрд▓рд░ рдХреЛ рдЪреБрдк рдХрд░рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрдЪреНрдЫрд╛ рд╣реИрдХ рд╣реИ, рд▓реЗрдХрд┐рди рдХреЗрд╡рд▓ рддрднреА рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдЬрдм CoreFX BCL рдХреЗ рдкрд╛рд╕ рд╕рдВрдмрдВрдзрд┐рдд рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╣реЛред рдПрдХ рдирд┐рдпрдо рдХреЗ рд░реВрдк рдореЗрдВ, netcoreapp/netstandard1.x рдХреЗ рд▓рд┐рдП рдХреЛрдИ "imports" рд╡рд╛рд▓рд╛ project.json рд╣рдореЗрд╢рд╛ рдмреЗрд╣рддрд░ рд╣реЛрддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП https://github.com/dsbenghe/Novell.Directory.Ldap.NETStandard/blob/ace2706/Novell.Directory.Ldap.NETStandard/project.json#L11

рдИрдЯреАрдП рдкрд░ рдХреЛрдИ рдЕрдкрдбреЗрдЯ? рдореИрдВ рд╕реНрд╡рдпрдВ рд╕реЗрд╡рд╛ рдХреЗ рд▓рд┐рдП рдХрд╣рд╛рдБ рдЬрд╛ рд╕рдХрддрд╛ рд╣реВрдБ рдЬреЛ рдЖрд╡рд░реНрддреА рдкреНрд░рд╢реНрди рд╣реИ?

_Really_ рдЗрд╕ рд╕реБрд╡рд┐рдзрд╛ рдХреЗ рд▓рд┐рдП рддрддреНрдкрд░ рд╣реИрдВ!

рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЗрд╕ рд╕реБрд╡рд┐рдзрд╛ рдХреА рднреА рдкреНрд░рддреАрдХреНрд╖рд╛ рд╣реИ !!

рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЗрд╕ рд╕реБрд╡рд┐рдзрд╛ рдХреА рднреА рдкреНрд░рддреАрдХреНрд╖рд╛ рд╣реИ !!

рдореБрдЭреЗ рднреА рдЗрд╕ рд╕реБрд╡рд┐рдзрд╛ рдХреА рд╕рдЦреНрдд рдЬрд░реВрд░рдд рд╣реИ!

рджреЛрд╕реНрддреЛрдВ, рдХреНрдпрд╛ рдЖрдк рд╕рднреА рдореБрдЦреНрдп рдкреЛрд╕реНрдЯ рдкрд░ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛рдПрдБ рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ?

рдпрд╛ рдЙрди рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ рдЬрд┐рдиреНрд╣реЗрдВ 2 рдЕрд▓рдЧ-рдЕрд▓рдЧ рд▓реЛрдЧреЛрдВ рджреНрд╡рд╛рд░рд╛ рдирдЧреЗрдЯ рдкрд░ рд░рдЦрд╛ рдЧрдпрд╛ рд╣реИред рдЗрд╕рдХрд╛
рд╕рднреА рдУ.рдПрд╕.рдПрд╕. рдЕрдЧрд░ рдЖрдкрдХреЛ рдкреИрдХреЗрдЬ рдкрд╕рдВрдж рдирд╣реАрдВ рд╣реИ, рддреЛ рдПрдХ рдкреАрдЖрд░ рднреЗрдЬреЗрдВ

8 рд╕рд┐рддрдВрдмрд░ 2016 рдХреЛ 12:19 рдмрдЬреЗ, рдорд┐рдЦрд╛рдЗрд▓ рдУрд░реНрд▓реЛрд╡ рдиреЛрдЯрд┐рдлрд┐рдХреЗрд╢рди @github.com
рд▓рд┐рдЦрд╛ рдерд╛:

рджреЛрд╕реНрддреЛрдВ, рдХреНрдпрд╛ рдЖрдк рд╕рднреА рдореБрдЦреНрдп рдкреЛрд╕реНрдЯ рдкрд░ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛рдПрдБ рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ?

-
рдЖрдк рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдиреЗ рдЯрд┐рдкреНрдкрдгреА рдХреА рдереАред
рдЗрд╕ рдИрдореЗрд▓ рдХрд╛ рд╕реАрдзреЗ рдЙрддреНрддрд░ рджреЗрдВ, рдЗрд╕реЗ GitHub рдкрд░ рджреЗрдЦреЗрдВ
https://github.com/dotnet/corefx/issues/2089#issuecomment -245567328, рдпрд╛ рдореНрдпреВрдЯ рдХрд░реЗрдВ
рд╕реВрддреНрд░
https://github.com/notifications/unsubscribe-auth/AAGappY2sfk1GWkY7w1IcuAJSa_uKFHwks5qn-8qgaJpZM4FF2fx
.

@jchannon рдиреЛрд╡реЗрд▓ рдПрд▓рдбреАрдПрдкреА рдХреЗ рд▓рд┐рдП +1ред рдЗрд╕рдиреЗ рд╣рдореЗрдВ рдЖрдЧреЗ рдмрдврд╝рд╛рдпрд╛ рдФрд░ рд╣рдорд╛рд░реЗ рдПрд▓рдбреАрдПрдкреА рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдореЗрдВ рд╡рд╕реНрддреБрддрдГ рдХреЛрдИ рдмрджрд▓рд╛рд╡ рдирд╣реАрдВ рдХрд┐рдпрд╛ред рдореЗрд░рд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдЖрдк рд╕рд╣реА рдврдВрдЧ рд╕реЗ рд╕рд╛рд░рдЧрд░реНрднрд┐рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ;)

рд╣рд╛рдВ, рдореИрдВрдиреЗ @jchannon рдиреЛрд╡реЗрд▓ рдПрд▓рдбреАрдПрдкреА рдХрд╛ рднреА рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛, рдЗрд╕рдиреЗ рдЕрдЪреНрдЫрд╛ рдХрд╛рдо рдХрд┐рдпрд╛ рд╣реИред

рдЕрдЧрд░ рдореИрдВрдиреЗ рдкрд╣рд▓реЗ рдРрд╕рд╛ рдирд╣реАрдВ рдХрд╣рд╛ рд╣реИ, рддреЛ рдпрд╣ рд╢рд╛рдЦрд╛ https://github.com/VQComms/CsharpLDAP/commits/coreclrPort рдкрд░ рд╣реИред

рдЗрд╕ рд╕рдордп рд╣рдорд╛рд░реА рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдЕрдЪреНрдЫрд╛ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ ...

@h3smith @johnkwaters рдХрд┐рд╕реА рднреА рдореБрджреНрджреЗ рдХреЛ рдмреЗрдЭрд┐рдЭрдХ рдПрдХ рдореБрджреНрджрд╛ рдЙрдард╛рдПрдВ

рдореИрдВрдиреЗ рдиреЛрд╡реЗрд▓ рдХреЗ рд╕рд╛рде рдкреНрд░рдпрд╛рд╕ рдХрд░рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛, рдирдореВрдиреЗ рдХрд╛рдлреА рдЕрдЪреНрдЫреЗ рджрд┐рдЦрддреЗ рд╣реИрдВ рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдХрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕рджрд╕реНрдп рдХреЛ рдиреЛрд╡реЗрд▓ рдПрд▓рдбреАрдПрдкреА рдХреЗ рд╕рд╛рде рд╕рдореВрд╣ рд╕реЗ рдХреИрд╕реЗ рдирд┐рдХрд╛рд▓рдирд╛ (рдирд┐рдХрд╛рд▓рдирд╛) рд╣реИред
рдореИрдВ MSAD LDAP рдкрд░ рдЕрдкрдирд╛ рдкрд╛рд╕рд╡рд░реНрдб рдирд╣реАрдВ рдмрджрд▓ рд╕рдХрддрд╛ рдХреНрдпреЛрдВрдХрд┐ рдореИрдВ userPassword рдирд╣реАрдВ рджреЗрдЦ рд╕рдХрддрд╛ рдФрд░ рдпрд╣ LDAP рд╕рд░реНрд╡рд░ рдкрд░ рд╕реЗрдЯ рдирд╣реАрдВ рдерд╛ред

рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ!

@joshfree рдпрд╛ рдХрд┐рд╕реА рдФрд░ рдХреЛ рдкрддрд╛ рд╣реИ ...
рд╣рдо рдПрдХ рдирдИ рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╢реБрд░реВ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП ActiveDirectoryServices.AccountManagement Question рддрдХ рдкрд╣реБрдВрдЪ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдХреНрдпрд╛ рдкреЛрд░реНрдЯ 1.1 рдпрд╛ 1.2 рдХреЗ рд▓рд┐рдП рд▓рдХреНрд╖рд┐рдд рд╣реИ?

рдпрд╣ 1.1 рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рдирд╣реАрдВ рд╣реИ (рдЬрд┐рд╕реЗ рдЕрдВрддрд┐рдо рд░реВрдк рджрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ)ред @tquerec , рдХреНрдпрд╛ рдЖрдк рдХреГрдкрдпрд╛ рдпрд╣рд╛рдВ рдЕрдкрдиреА рдпреЛрдЬрдирд╛рдУрдВ рдкрд░ рдЯрд┐рдкреНрдкрдгреА рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ?

cc: @danmosemsft

рддреЛ, рдЕрдЧрд░ 1.1 рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рдирд╣реАрдВ рд╣реИ рддреЛ рдХрд┐рд╕реА рдХреЗ рдкрд╛рд╕ рдХреЛрдИ рдпреЛрдЬрдирд╛ рд╣реИ? рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╕рдорд░реНрдерди рди рд╣реЛрдирд╛ рдПрдХ рдкреНрд░рдореБрдЦ рдореБрджреНрджрд╛ рд╣реИред рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ, рд╕рднреА рдХрд╛ Microsoft рдпрд╣ рдПрдХреАрдХрд░рдг рдЪрд╛рд╣реЗрдЧрд╛ред

рдмрд╕ рдПрдХ рдФрд░ рд╡реЛрдЯ рдХреЗ рд▓рд┐рдПред .NET рдХреЛрд░ рдкрд░ рдПрдВрдЯрд░рдкреНрд░рд╛рдЗрдЬ рдХреНрд▓рд╛рд╕ рд╕рд┐рд╕реНрдЯрдо рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдирд┐рд╡реЗрд╢ рдХрд░рдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реИ рдЬрдм рдЗрд╕рдореЗрдВ рдореМрд▓рд┐рдХ рдЙрджреНрдпрдо рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХрд╛ рдЕрднрд╛рд╡ рд╣реИред рдЙрдкрдиреНрдпрд╛рд╕ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХрд╛рдо рдХрд░рддреА рд╣реИ, рд▓реЗрдХрд┐рди рд╕реВрдВрдШрдиреЗ рдХреЗ рд▓рд┐рдП рдирд╣реАрдВ рд╣реИред

рдПрдХ рдФрд░ рд╡реЛрдЯред рдореИрдВ рдЙрд╕реА рдХрдерди рдХреЛ рдкреНрд░рддрд┐рдзреНрд╡рдирд┐рдд рдХрд░реВрдВрдЧрд╛ рдХрд┐ рдпрд╣ рдХрд┐рд╕реА рднреА рдЙрджреНрдпрдо рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдХреЛ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрднрд┐рдиреНрди рд╣реИред

@nevcoBpalacio рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╡реЗ рд╣рдореЗрдВ рдиреАрд▓рд╛ рд╕рдХреНрд░рд┐рдп рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдзрдХреНрдХрд╛ рджреЗрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣реЗ рд╣реИрдВ

рдпрд╣ рдЙрди рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдХрднреА рднреА рдХрд╛рдо рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ рдЬреЛ рдХреЙрд░реНрдкреЛрд░реЗрдЯ рд╕рдордЭреМрддреЛрдВ рдХреЗ рд╕рд╛рде рдЙрдкрдпреЛрдЧ рдореЗрдВ рд╣реИрдВ, рдЬрд┐рдирдХреЗ рд▓рд┐рдП рдШрд░ рдореЗрдВ рд░рд╣рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реЗрд╡рд╛рдУрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред

рдореИрдВ рд╕рдВрдШреАрдп рдФрд░ рдЕрдм рд╕реНрдерд╛рдиреАрдп рдХрд╛рдЙрдВрдЯреА рджреЛрдиреЛрдВ рд╕рд░рдХрд╛рд░реА рдПрдЬреЗрдВрд╕рд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдФрд░ рдХрд┐рд╕реА рднреА рддрд░рд╣ рд╕реЗ рдЖрдкрдХреЛ рдЕрднреА рднреА рдХреБрдЫ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рд╕реЗрд╡рд╛ рдореЗрдВ рдПрдХреАрдХреГрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдпрд╛ рдХреНрд╖рдорддрд╛рдУрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА, рдпрд╛ рддреЛ рдХреНрд▓рд╛рдЙрдб рдЖрдзрд╛рд░рд┐рдд рдпрд╛ рдЖрдзрд╛рд░ рдкрд░ред рдореЗрд░реЗ рдкрд╛рд╕ рдЕрд░рдмреЛрдВ рдбреЙрд▓рд░ рдХрд╛ рдкреНрд░рдмрдВрдзрди рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рд╕рд╣-рд╡рд┐рдХрд╕рд┐рдд рдЕрдиреБрдкреНрд░рдпреЛрдЧ рд╣реИрдВ рдФрд░ рд╣рдореЗрд╢рд╛ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рд╕реЗрд╡рд╛рдУрдВ рдХреА рдХреБрдЫ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдЙрддреНрдкрдиреНрди рд╣реЛрддреА рд╣реИред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдПрдХ рдФрд░ рд╡реЛрдЯ рд╕реЗ рдЬреНрдпрд╛рджрд╛ рд╣реИ, рдмрд▓реНрдХрд┐ рдпрд╣ рдПрдХ рдмрдпрд╛рди рд╣реИ рдХрд┐ рдЖрдк рдХрд┐рд╕рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░ рд░рд╣реЗ рд╣реИрдВ? рдореИрдВ рдкрд╣рд▓реЗ рдХреЗ рдПрдХ рдкреЛрд╕реНрдЯ рд╕реЗ рд╕рд╣рдордд рд╣реВрдВ рдХрд┐ рдпрд╣ рдореВрд▓ рд░реВрдк рд╕реЗ рдкреВрд░реНрд╡ .NET рд░рд┐рд▓реАрдЬ рдореЗрдВ рдмреЙрдХреНрд╕ рд╕рдорд╛рдзрд╛рди рд╕реЗ рдмрд╛рд╣рд░ рдерд╛ред рдореИрдВ рд╕рдордЭрддрд╛ рд╣реВрдВ рдХрд┐ рдХреЛрд░ рдХреА рдЕрдзрд┐рдХ рдЦреБрд▓реА рд╕рдВрд░рдЪрдирд╛ рдХреЛ рд╕рдореБрджрд╛рдп рдХреА рдЧрддрд┐ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреА рдЪрд╛рд╣рд┐рдП рдФрд░ рдпрджрд┐ рдорд╛рдЗрдХреНрд░реЛрд╕реЙрдлреНрдЯ рдпрд╣реА рдЗрдВрддрдЬрд╛рд░ рдХрд░рдирд╛ рдЪреБрдирддрд╛ рд╣реИ, рддреЛ рд╢рд╛рдпрдж рдЙрдиреНрд╣реЛрдВрдиреЗ рдпрд╣ рдХрд╣рд╛ рд╣реИ рдФрд░ рдореИрдВрдиреЗ рдЗрд╕реЗ рдпрд╛рдж рдХрд┐рдпрд╛ рд╣реИ, рдЙрдиреНрд╣реЗрдВ рдпрд╣ рдХрд╣рдирд╛ рдЪрд╛рд╣рд┐рдП рддрд╛рдХрд┐ рдХреЛрдИ рд╕рдордп рдирд┐рд╡реЗрд╢ рдХрд░рдиреЗ рдХреА рдкрд╣рд▓ рдХрд░ рд╕рдХреЗ рдЗрд╕реЗ рдХрд░рд╡рд╛рдиреЗ рдХреЗ рд▓рд┐рдПред

рд╣рд╛рдБ, рдХреГрдкрдпрд╛ System.DirectoryServices рдХреЛ .NET рдХреЛрд░ рдореЗрдВ рдЬреЛрдбрд╝реЗрдВ!

рд╣рдорд╛рд░реА рдЕрдЧрд▓реЗ рд╕рд╛рд▓ рдХреЗ рднреАрддрд░ System.DirectoryServices.Protocols рдХреЛ рдкреЛрд░реНрдЯ рдХрд░рдиреЗ рдХреА рдпреЛрдЬрдирд╛ рд╣реИред рдЗрд╕ рд╕рдордп рдореИрдВ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рддрд┐рдерд┐ рдкреНрд░рджрд╛рди рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ред рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдЕрднреА рддрдХ System.DirectoryServices рдпрд╛ System.DirectoryServices.AccountManagement рдХреЛ рдкреЛрд░реНрдЯ рдХрд░рдиреЗ рдХреА рдХреЛрдИ рдпреЛрдЬрдирд╛ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рд░реБрдЪрд┐ рдЬрд╛рдирдиреЗ рдореЗрдВ рджрд┐рд▓рдЪрд╕реНрдкреА рд╣реИред рдХреНрдпрд╛ рдЙрди рдирд╛рдорд╕реНрдерд╛рдиреЛрдВ рдХреА рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ рд╣реИрдВ рдЬрд┐рдирдХрд╛ рд▓реЛрдЧ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХреЗ рд╕рд╛рде рд╣рд▓ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ?

@tquerec рдореИрдВ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рд╕реЗ рдкрд░рд┐рдЪрд┐рдд рдирд╣реАрдВ рд╣реВрдБред рдЦрд╛рддрд╛ рдЕрдирд▓реЙрдХ рдФрд░ рдЦрд╛рддрд╛ рдкрд╛рд╕рд╡рд░реНрдб рд░реАрд╕реЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рд╕рдХреНрд░рд┐рдп рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рд╕реНрд╡рдпрдВ рд╕реЗрд╡рд╛ рдХрд░рдиреЗ рдХрд╛ рдПрдХ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╣реИред рд╣рдо рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ UserPrincipal рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ FindByIdentity, UnlockAccount, SetPassword,, ExpirePasswordNow, рдЬреИрд╕реА рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддреЗ рд╣реИрдВред
рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдпреЗ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдкрд░ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдирд┐рдЪрд▓реЗ рд╕реНрддрд░ рдХрд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╣реИ рдмрдирд╛рдо рдЦрд╛рддрд╛ рдкреНрд░рдмрдВрдзрди ActiveDirectory рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдмреЗрд╣рддрд░ рдЕрдореВрд░реНрддрддрд╛ рд╣реИред
рдзрдиреНрдпрд╡рд╛рдж
рд░реЙрдХрдореЗрд╕реНрдЯрд░

@nevcoBpalacio рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдореЗрд░реЗ рджреНрд╡рд╛рд░рд╛ рд╕рд╣рдордд рдПрдХ рд╡реЛрдЯ рд╕реЗ рдЕрдзрд┐рдХ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕реЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЕрдзрд┐рдХ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

@CalebMacdonaldBlack рдпрд╣ рдЙрдкрдпреЛрдЧреА рд╣реЛрдЧрд╛ рдпрджрд┐ рдЖрдк рдЙрдкрдпреЛрдЧ рдкреИрдЯрд░реНрди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ @tquerec рдкреНрд░рд╢реНрди рдХрд╛ рдЙрддреНрддрд░ рджреЗ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреНрдпреЛрдВ рд╣реИред рдкрд░рд┐рджреГрд╢реНрдпреЛрдВ рдХреЗ рдмрд┐рдирд╛ рдЕрдзрд┐рдХ рдЕрдкрд╡реЛрдЯ рдпрд╛ "рдореИрдВ рд╕рд╣рдордд/рдпрд╣ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ" рдЗрд╕ рд╕рдордп рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рдмрдврд╝рд╛рдиреЗ рдореЗрдВ рдорджрдж рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ ... рдзрдиреНрдпрд╡рд╛рдж!

рд╣рдорд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдПрд▓рдбреАрдПрдкреА рдХреЛ рд╕реНрдХреИрди/рдЦреЛрдЬ рдХрд░ рд░рд╣рд╛ рд╣реИ, рдХреНрд░реЗрдбреЗрдВрд╢рд┐рдпрд▓реНрд╕ рдХреЛ рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╛рдЗрдВрдб рдХрд░ рд░рд╣рд╛ рд╣реИ, рдПрд▓рдбреАрдПрдкреА рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ (рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ, рд╕рдореВрд╣реЛрдВ) рдХреЛ рдЬреЛрдбрд╝/рд╣рдЯрд╛ рд░рд╣рд╛ рд╣реИ, рд╕рдореВрд╣реЛрдВ рдореЗрдВ рд╕рджрд╕реНрдпрддрд╛ рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░ рд░рд╣рд╛ рд╣реИред

@tquerec рдореБрдЭреЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ System.DirectoryServices.AccountManagement рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рддрд╛рдХрд┐ рдореИрдВ рдЕрдкрдиреЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рд╕рдХреНрд░рд┐рдп рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХреЗ рд╡рд┐рд░реБрджреНрдз рдкреНрд░рдорд╛рдгрд┐рдд рдХрд░ рд╕рдХреВрдВ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдЙрди рд╕рдореВрд╣реЛрдВ рдкрд░ рдЕрдзрд┐рдХреГрдд рдХрд░ рд╕рдХреВрдВ рдЬрд┐рдирдХреЗ рдкрд╛рд╕ рдЙрдирдХреА рдкрд╣реБрдВрдЪ рд╣реИред

рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ h3smith рд╕реЗ рд╕рд╣рдордд рд╣реИрдВ .. рд╣рдореЗрдВ v1 рдХреЗ рд▓рд┐рдП рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдФрд░ рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рд╣рдореЗрдВ рдЙрдкрдиреНрдпрд╛рд╕ рдкрде рдкрд░ рдЬрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдордЬрдмреВрд░ рд╣реЛрдирд╛ рдкрдбрд╝рддрд╛ рд╣реИ, рдЬрд┐рд╕реЗ рд╣рдордиреЗ рдПрдХ рд╕рд╛рде рд░рдЦрд╛ рд╣реИ (рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдкреНрд░рддрд┐рдХреГрддрд┐ рдмрд┐рдЯреНрд╕) рдФрд░ рд░рдЦрд░рдЦрд╛рд╡ рдЖрджрд┐ рдХреЗ рдКрдкрд░реА рд╣рд┐рд╕реНрд╕реЗ рдХреЗ рд╕рд╛рде рд╣рдореЗрдВ рджреБрдЦреА рдХрд░ рд░рд╣рд╛ рд╣реИред рдпрд╣ .NETCore рдмрдирд╛ рд░рд╣рд╛ рд╣реИ рд╕рд╛рдЗрдб рдЗрдлреЗрдХреНрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рдЦрд░рд╛рдм рджрд┐рдЦреЗрдВ ..

@liquidboy

рд╣рдореЗрдВ v1 . рдХреЗ рд▓рд┐рдП рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдереА

рдХреНрдпрд╛ рдЖрдкрдХрд╛ рдорддрд▓рдм .NET рдХреЛрд░ v1 рд╣реИ? - рдЬреЛ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рднреЗрдЬ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд╣рдо рдЕрднреА 1.2 рдкрд░ рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВред рдпрд╛ рдЖрдкрдХрд╛ рдорддрд▓рдм рдХреБрдЫ рдФрд░ рдерд╛?

рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рдЙрдкрдиреНрдпрд╛рд╕ рдкрде рдкрд░ рдЬрд╛рдиреЗ рдХреЛ рдордЬрдмреВрд░ рд╣реИрдВ

рдЗрд╕рдХрд╛ рдХреНрдпрд╛ рдорддрд▓рдм рд╣реИ? (рдХреНрд╖рдорд╛ рдХрд░реЗрдВ, рдореЗрд░реЗ рдкрд╛рд╕ DirectoryServices рдкрд░ рд╢реВрдиреНрдп рд╕рдВрджрд░реНрдн рд╣реИ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдпрд╣ рд╕рдордЭрдирд╛ рдЕрдЪреНрдЫрд╛ рд▓рдЧреЗрдЧрд╛ рдХрд┐ рд╣рдо рдкрд░рд┐рджреГрд╢реНрдпреЛрдВ рдХреЗ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╕реЗ рдХреНрдпрд╛ рдЦреЛ рд░рд╣реЗ рд╣реИрдВ)

@karelz рдмрд╕ "рдЙрдкрдиреНрдпрд╛рд╕" рд╢рдмреНрдж рдХреЗ рд▓рд┐рдП рдЗрд╕ рдзрд╛рдЧреЗ рдореЗрдВ рдПрдХ рдЦреЛрдЬ рдХрд░реЗрдВ рдФрд░ рдЖрдк рджреЗрдЦреЗрдВрдЧреЗ рдХрд┐ рдореЗрд░рд╛ рдХреНрдпрд╛ рдорддрд▓рдм рд╣реИред рдореЗрд░реА рдЯреАрдо рдХреЗ рдПрдХ рдЕрдиреНрдп рджреЗрд╡ (dsbenge) рдиреЗ (рджреВрд╕рд░реЛрдВ рдХреЗ рд╕рд╛рде) рдЙрд╕ рдЕрдВрддрд░ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЯрд┐рдкреНрдкрдгреА рдХреА рдЬрд┐рд╕рдХреЗ рдХрд╛рд░рдг рд╣рдореЗрдВ рдЙрдкрдиреНрдпрд╛рд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдкрдбрд╝рд╛ред [рдпрд╣рд╛рдБ рдКрдкрд░ рдЯрд┐рдкреНрдкрдгреА рдХреЗ рд▓рд┐рдП рд▓рд┐рдВрдХ https://github.com/dotnet/corefx/issues/2089#issuecomment -228043297]

рдФрд░ рд╣рд╛рдБ рдореЗрд░рд╛ рдорддрд▓рдм .NET Core v1 рд╕реЗ рдерд╛ рдЬреЛ рдкрд╣рд▓реЗ рд╣реА рднреЗрдЬ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рд╣рдо рдПрдХ рд╕рд╛рд▓ рд╕реЗ рдЕрдзрд┐рдХ рд╕рдордп рд╕реЗ рдЕрдкрдиреЗ рд╕рдорд╛рдзрд╛рди рдкрд░ рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдФрд░ рд╣рдореЗрдВ рдЙрд╕ рд╕рдордп рдПрдХ рдЕрдЪреНрдЫреЗ DirectoryServices рд╕рдорд╛рдзрд╛рди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдереА .. рд╣рдордиреЗ рдПрдХ рджреАрд╡рд╛рд░ рдорд╛рд░рд╛ рдФрд░ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдЙрдкрдиреНрдпрд╛рд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдХреЛрдИ рд╡рд┐рдХрд▓реНрдк рдирд╣реАрдВ рдерд╛ .

@liquidboy рд▓рд┐рдВрдХ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж - рдЕрдЧрд░ рдпрд╣ рдореЛрдиреЛ рдореЗрдВ рд╣реИ, рддреЛ рд╣рдореЗрдВ .NET рдХреЛрд░ AFAIK рдореЗрдВ рд╕реНрд░реЛрдд рдХреЛрдб рдХрд╛ рдкреБрди: рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред @tquerec рдиреЗ рд░реБрдЪрд┐ рджреА, рдХреНрдпрд╛ рдпрд╣ рдХреБрдЫ рдРрд╕рд╛ рд╣реИ рдЬрд┐рд╕ рдкрд░ рдЖрдкрдХреА рдЯреАрдо рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдЧреА?

@tquerec : рд╣рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:
System.DirectoryServices, System.DirectoryServices.AccountManagement, System.DirectoryServices.ActiveDirectory, рдФрд░ System.DirectoryServices.Protocolsред

рд╕рдХреНрд░рд┐рдп рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ (рдФрд░ рдЕрдиреНрдп рдПрд▓рдбреАрдПрдкреА рд╕рд░реНрд╡рд░) рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ, рд╕рдореВрд╣реЛрдВ, рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рд╕реЗ рдЬреБрдбрд╝рдиреЗ рдФрд░ рдкреНрд░рдмрдВрдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрдирдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рдЬреИрд╕рд╛ рдХрд┐ рдКрдкрд░ рджрд┐рдП рдЧрдП рдЙрддреНрддрд░реЛрдВ рдореЗрдВ рднреА рд╡рд░реНрдгрд┐рдд рд╣реИред рдиреЗрдЯ рдХреЛрд░ рдореЗрдВ рдЗрди рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХрд╛ рд╣реЛрдирд╛ рдЬрд░реВрд░реА рд╣реИ!

рдореИрдВ рджреВрд╕рд░реЛрдВ рд╕реЗ рд╕рд╣рдордд рд╣реВрдВред рдореБрдЭреЗ рдЕрдкрдиреЗ рдХрд┐рд╕реА рднреА рдРрдк рдХреЛ рдкреЛрд░реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдЬреЛ рдХрд┐ ActiveDirectory рдХреЗ рд╡рд┐рд░реБрджреНрдз .NET Core рдореЗрдВ рдкреНрд░рдорд╛рдгрд┐рдд рд╣реИред рдпрд╣ рдХрд╛рдлреА рдореМрд▓рд┐рдХ рд╣реИ, рдпрд╣ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдЬрд▓реНрдж рд╕реЗ рдЬрд▓реНрдж рд░рд┐рд▓реАрдЬ рдореЗрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдпрд╣ рдмрд╣реБрдд рд╕реА рдЪреАрдЬреЛрдВ рдХреЛ рдкреЛрд░реНрдЯ рдХрд░рдиреЗ рдореЗрдВ рдЕрд╡рд░реЛрдзрдХ рд╣реИред

.NET рдХреЛрд░ рд░реЛрдбрдореИрдк рдкреЗрдЬ (https://github.com/dotnet/core/blob/master/roadmap.md) рдореЗрдВ .NET Core 1.2 рдХреЗ рд▓рд┐рдП рдпрд╣ рдпреЛрдЬрдирд╛ рд╣реИ: рдЖрдзрд╛рд░ рдкреНрд░рдХрд╛рд░реЛрдВ рдХрд╛ рдмрдбрд╝рд╛ рд╕рдВрдЧреНрд░рд╣ред"

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╕рд┐рд╕реНрдЯрдо рдХреЛ рдкреЛрд░реНрдЯ рдХрд░рдирд╛ред рдбрд╛рдпрд░реЗрдХреНрдЯрд░реА рд╕рд░реНрд╡рд┐рд╕реЗрдЬ рдЙрд╕ рдпреЛрдЬрдирд╛ рдХреЛ рдмрд╣реБрдд рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдлрд┐рдЯ рдХрд░рддреА рд╣реИ, рдФрд░ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ 1.2 рд░рд┐рд▓реАрдЬ рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдмрд╕ рдореЗрд░реЗ 5 (рдпреВрд░реЛ) рд╕реЗрдВрдЯ :)

рдмрд╕ рд╕реНрдкрд╖реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП: 1.2 рдореЗрдВ рдкреЛрд░реНрдЯ рдХрд┐рдП рдЧрдП рдПрдкреАрдЖрдИ рдХреЛ рдЙрдкрдпреЛрдЧ рдбреЗрдЯрд╛ (рдФрд░ рд╢рд╛рдпрдж рд╣реА рдХрднреА рдЬрдЯрд┐рд▓рддрд╛) рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдЪреБрдирд╛ рдЧрдпрд╛ рдерд╛ - @weshaggard @danmosemsft рдХреНрдпрд╛ рдЖрдк рд╡рд┐рд╡рд░рдг рдХреЗ рд╕рд╛рде рдЭрдВрдХрд╛рд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд╣рдордиреЗ System.DirectoryServices рдХреЛ рд╢рд╛рдорд┐рд▓ рдХреНрдпреЛрдВ рдирд╣реАрдВ рдХрд┐рдпрд╛?

рд╣рдордиреЗ рдЬрд┐рди рд╡рд┐рдзрд╛рдирд╕рднрд╛рдУрдВ рдХрд╛ рдорд┐рд▓рд╛рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЪреБрдирд╛ рд╣реИ, рдЙрдирдХреА рд╕реВрдЪреА рдпрд╣рд╛рдВ рд╣реИ ред @weshaggard рдХреЛ рдореБрдЭреЗ рдпрд╛рдж рджрд┐рд▓рд╛рдирд╛ рд╣реЛрдЧрд╛ рдХрд┐ рдЙрдиреНрд╣реЛрдВрдиреЗ рдЙрд╕ рд╕реВрдЪреА рдХреЛ рдХреИрд╕реЗ рдЪреБрдирд╛ред (рдореЛрдиреЛ рдореЗрдВ S.DirectoryServices рд╣реИ)

рдореЗрд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛрд╣реИ рдХрд┐ рдЖрдк System.DirectoryServices.Protocols рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ ActiveDirectory (рдФрд░ рдЕрдиреНрдп ldap рд╕рд░реНрд╡рд░) рдХреЗ рд╕рд╛рде рдмрд╛рдд рдХрд░рдиреЗ рдХреЗ рд╕рдВрдмрдВрдз рдореЗрдВ рдЖрд╡рд╢реНрдпрдХ рд╕рднреА рдЪреАрдЬреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдВрдЧреЗ, рд▓реЗрдХрд┐рди рдмрд╣реБрдд рд╕реЗ рд▓реЛрдЧреЛрдВ рдХреЛ S.DS.Protocols рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдкрдиреЗ рдХреЛрдб рдХреЛ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦрдирд╛ рд╣реЛрдЧрд╛ред

рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ рдореИрдВ рдПрдордПрд╕ рдХреЛ рдПрд╕.рдбреАрдПрд╕.рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдФрд░ рдПрдордПрд╕ рдпрд╛ рд╕рдореБрджрд╛рдп рдХреЛ рдЗрд╕рдХреЗ рд╢реАрд░реНрд╖ рдкрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛/рд╕рдореВрд╣ рдкреНрд░рдмрдВрдзрди рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдореЗрдВ рдЖрд╕рд╛рди рдкреБрд╕реНрддрдХрд╛рд▓рдп рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рджреВрдВрдЧрд╛ред

рд╣рдордиреЗ рдЬрд┐рди рд╡рд┐рдзрд╛рдирд╕рднрд╛рдУрдВ рдХрд╛ рдорд┐рд▓рд╛рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЪреБрдирд╛ рд╣реИ, рдЙрдирдХреА рд╕реВрдЪреА рдпрд╣рд╛рдВ рд╣реИред @weshaggard рдХреЛ рдореБрдЭреЗ рдпрд╛рдж рджрд┐рд▓рд╛рдирд╛ рд╣реЛрдЧрд╛ рдХрд┐ рдЙрдиреНрд╣реЛрдВрдиреЗ рдЙрд╕ рд╕реВрдЪреА рдХреЛ рдХреИрд╕реЗ рдЪреБрдирд╛ред (рдореЛрдиреЛ рдореЗрдВ S.DirectoryServices рд╣реИ)

рдкреНрд░рд╛рд░рдВрднрд┐рдХ рд╕реАрдбрд┐рдВрдЧ .NET рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреЗ рд╕рд╛рде Xamarin рдкреНрд░реЛрдлрд╛рдЗрд▓ рдХреЛ рдЗрдВрдЯрд░рд╕реЗрдХреНрдЯ рдХрд░рдиреЗ рд╕реЗ рдХреА рдЧрдИ рдереАред Xamarain рдкреНрд░реЛрдлрд╛рдЗрд▓ (рдЬреЛ рдореЛрдиреЛ рдХрд╛ рдПрдХ рд╕рдмрд╕реЗрдЯ рд╣реИ) DirectoryServices рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдпрд╣ рдЪреМрд░рд╛рд╣реЗ рдкрд░ рдирд╣реАрдВ рдерд╛ред

рдЗрд╕ рдкрд░ рдмрд╣рд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣рдо рдХреНрдпрд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ? Microsoft рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдореЗрдВ рд╕рдмрд╕реЗ рдЖрдо рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдпреЛрдЬрдирд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдореЗрдВ рдЕрд╕рдорд░реНрдерддрд╛ рдПрдХ рдЕрд╡рд░реЛрдзрдХ рд╣реИ, рдирд╣реАрдВ? рдХреНрдпрд╛ рдпрд╣рд╛рдБ Azure рдФрд░ AAD рдкрд░ рдзреНрдпрд╛рди рдХреЗрдВрджреНрд░рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ? рдпрд╛ рдпрд╣ рдЕрд╡рд░реЛрдзрдХ рд╣реИ рдХрд┐ рдЗрд╕реЗ рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдкрд░ рдкреЛрд░реНрдЯ рдХрд░рдирд╛ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХрд╛ рдПрдХ рдмрдбрд╝рд╛ рдЕрдЬреНрдЮрд╛рдд рд╣реИ?

рдХреНрдпрд╛ рдХреЛрдИ рддрд░реАрдХрд╛ рд╣реИ рдЬрд┐рд╕рд╕реЗ рд╣рдо рдпрд╣рд╛рдВ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рдмрдврд╝рд╛ рд╕рдХрддреЗ рд╣реИрдВ? 2.0 рдмрд╣реБрдд рджреВрд░ рд╣реИ, рдФрд░ рдЕрдЧрд░ _everything_ рдФрд░ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рддреЛ рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рджреБрд░реНрднрд╛рдЧреНрдпрдкреВрд░реНрдг рд╣реИ, рд▓реЗрдХрд┐рди рд╣рдо рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдкреНрд░рдорд╛рдгрд┐рдд рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗред рдпрд╣ рдЗрддрдиреЗ рд╕рд╛рд░реЗ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рд╡рд░реНрдЪреБрдЕрд▓ рдлреНрд░рдВрдЯ рдбреЛрд░ рд╣реИред рдЖрдИрдПрдордУ, рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдпрд╣ рдереЛрдбрд╝рд╛ рдЕрд▓рдЧ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдЖрдВрд╢рд┐рдХ рдЕрд╡рд░реЛрдзрдХ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдЕрдХреНрд╕рд░ рдкреНрд░рдХреГрддрд┐ рджреНрд╡рд╛рд░рд╛ рдкреВрд░реНрдг рдЕрд╡рд░реЛрдзрдХ рд╣реИред

рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рдХреЛрдИ рдЕрд╕рд╣рдорддрд┐ рд╣реИ рдХрд┐ рд╣рдо .NET рдХреЛрд░ рдореЗрдВ рдЗрд╕рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рдЬреЛ рдХрд┐ .NET рдорд╛рдирдХ рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рд╣реЛрдиреЗ рд╕реЗ рдЕрд▓рдЧ рд╣реИ, рдпрд╣ рдХрдм рдХреА рдмрд╛рдд рд╣реИред @tquerec рдХреНрд╖реЗрддреНрд░ рдХрд╛ рдорд╛рд▓рд┐рдХ рд╣реИ рдФрд░ рд╡рд╣ рд╡рд╣реА рд╣реЛрдЧрд╛ рдЬреЛ рдЙрд╕рд╕реЗ рдмрд╛рдд рдХрд░реЗрдЧрд╛ред

.NET Foundation рдХреЗ рдХрд┐рд╕реА рд╡реНрдпрдХреНрддрд┐ рдиреЗ рдкреВрдЫрд╛, рд▓реЗрдХрд┐рди рд╣рдо рдЬрд┐рди рдирд╛рдорд╕реНрдерд╛рдиреЛрдВ рдХрд╛ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рд╡реЗ рд╣реИрдВ:
System.DirectoryServices, System.DirectoryServices.Protocols, System.DirectoryServices.AccountManagement

рддреЛ, @tquerec , рд╣рдо System.DirectoryServices рдХреЛ .NET Core 1.2 рдХреЗ рд▓рд┐рдП рдХреИрд╕реЗ рдлрд╝реНрд▓реИрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ? рдХрдо рд╕реЗ рдХрдо System.DirectoryServices.Protocolsред рдХреНрдпрд╛ рдпрд╣ рд╕рдВрднрд╡ рд╣реИ?

рдмрд╣реБрдд - рдмрд╣реБрдд рдзрдиреНрдпрд╡рд╛рдж!

[@tquerec рд╕реЗ рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд╕рд╛рде рдЕрдкрдбреЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛]
рдореИрдВ рд╕реЛрдорд╡рд╛рд░ рдХреЛ @tquerec рд╕реЗ рдорд┐рд▓рд╛ред рдореИрдВ рд╕рднреА рдХреЛ рдПрдХ рд▓рд┐рдЦрдиреЗ рджреЗрддрд╛ рд╣реВрдБред рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ:

  • рдкреНрд░рдгрд╛рд▓реАред DirectoryServices рдХреЗрд╡рд▓ рд╡рд┐рдВрдбреЛрдЬрд╝ рдкрд░ рдХрд░рдиреЗ рдпреЛрдЧреНрдп рд╣реИ (рдпрд╣ рд╡рд┐рдВрдбреЛрдЬрд╝ рдбреАрдПрд▓рдПрд▓ рдореЗрдВ рдХреЙрд▓ рдХрд░рддрд╛ рд╣реИ рдЬрд╣рд╛рдВ рд╕рднреА рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд░рд╣рддрд╛ рд╣реИ), рд▓рд┐рдирдХреНрд╕/рдореИрдХ рдХреЗ рд▓рд┐рдП рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрдЬреНрдЮрд╛рдд
  • System.DirectoryServices. AccountManagement рдЗрд╕рдХреЗ рд╢реАрд░реНрд╖ рдкрд░ рдмреИрдарддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдХреЗрд╡рд▓-рдпреЛрдЧреНрдп рд╡рд┐рдВрдбреЛрдЬрд╝, рдФрд░ Linux/Mac . рдХреЗ рд▓рд┐рдП рдЕрдЬреНрдЮрд╛рдд рд╣реИ
  • System.DirectoryServices. ActiveDirectory рдХреЗрд╡рд▓ рд╡рд┐рдВрдбреЛрдЬрд╝ рдкрд░ рдХрд░рдиреЗ рдпреЛрдЧреНрдп рд╣реИ (рдпрд╣ рдмрд╣реБрдд рд╕реЗ рд╡рд┐рдВрдбреЛрдЬрд╝ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдПрдкреАрдЖрдИ рдореЗрдВ рдХреЙрд▓ рдХрд░рддрд╛ рд╣реИ)
  • System.DirectoryServices. рд╡рд┐рдВрдбреЛрдЬ рдХреЗ рд▓рд┐рдП рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХрд╛рдлреА рд╕рд░рд▓ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ рд▓рд┐рдирдХреНрд╕ рдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХ рдХрд╛рдо рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП (рд╣рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрд▓рдбреАрдПрдкреА рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдЦреЛрдЬрдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИ)ред
    рд╣рдо @tquerec рдХреЗ рд╕рд╛рде рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдХрд┐ рдХрд╛рдо рдХреЛ рдХреИрд╕реЗ рдлрдВрдб рдХрд┐рдпрд╛ рдЬрд╛рдП - рдЖрджрд░реНрд╢ рд░реВрдк рд╕реЗ 1.2 рдХреЗ рд▓рд┐рдП, рд▓реЗрдХрд┐рди рдЕрднреА рддрдХ рдХреЛрдИ рд╡рд╛рджрд╛ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдирд┐рд░реНрдгрдп рдореЗрдВ рдХрдо рд╕реЗ рдХрдо рджреЛ рд╕рдкреНрддрд╛рд╣ рд▓рдЧреЗрдВрдЧреЗред

рд╕рднреА рд╕реЗ рдкреНрд░рд╢реНрди :

  • рдХреНрдпрд╛ рдЙрдкрд░реЛрдХреНрдд рд╡рд┐рдВрдбреЛрдЬрд╝-рдУрдирд▓реА рд╕реНрдХреЛрдкрд┐рдВрдЧ рдкреНрд░рдореБрдЦ рдЙрдкрдпреЛрдЧ рдХреЗ рдорд╛рдорд▓реЛрдВ рдХреЗ рд▓рд┐рдП рд╕реНрд╡реАрдХрд╛рд░реНрдп рд╣реИ? (Sys.DirSer рдФрд░ Sys.DirSer.AccountManagement and Sys.DirSer.ActiveDirectory)
  • рдпрджрд┐ Sys.DirSer.Protocols Linux 1.2 рдХреЗ рдмрд╛рдж рдЖрддрд╛ рд╣реИ рдпрд╛ рд╕рд╛рдореБрджрд╛рдпрд┐рдХ рдпреЛрдЧрджрд╛рди рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ, рддреЛ рдХреНрдпрд╛ рдпрд╣ рдПрдХ рдкреНрд░рдореБрдЦ рдЕрд╡рд░реЛрдзрдХ рд╣реЛрдЧрд╛?

@karelz System.DirectoryServices.ActiveDirectory рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ Windows рд╡рд┐рд╢рд┐рд╖реНрдЯ API рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реИ, рдЗрд╕рд▓рд┐рдП рдпрд╣ S.DS рдФрд░ S.DS.AM рдХреЗ рд╕рдорд╛рди рдмрдХреЗрдЯ рдореЗрдВ рдЖрддрд╛ рд╣реИред

@karelz рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рд╡рд┐рдВрдбреЛрдЬрд╝ рджреНрд╡рд╛рд░рд╛ рдХреЗрд╡рд▓ 1.2 рдХреЗ рд▓рд┐рдП рд╕рдорд╛рдзрд╛рди рдХрд╛ рдЖрдкрдХрд╛ рдХреНрдпрд╛ рдорддрд▓рдм рд╣реИред рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдХреЗрд╡рд▓ рд╡рд┐рдВрдбреЛрдЬрд╝ рд╕рдорд╛рдзрд╛рди рд╣реИ рдЬреЛ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред

"frameworks": {
    "net452": {
      "frameworkAssemblies": {
        "System.DirectoryServices": "4.0.0.0",
        "System.DirectoryServices.AccountManagement": "4.0.0.0"
      }
    }
  },

@ рд░реЙрдХ-рдореЗрд╕реНрдЯрд░ рдореЗрд░рд╛ рдорддрд▓рдм рд╣реИ .NET рдХреЛрд░ред рдЬрд┐рд╕рдХрд╛ рдЖрдкрдиреЗ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рд╣реИ рд╡рд╣ "рдкреВрд░реНрдг" .NET 4.5.2+ рдХреЛ рд▓рдХреНрд╖рд┐рдд рдХрд░рддрд╛ рд╣реИред

рд╣рд╛рдВ, рдХреЗрд╡рд▓ рд╡рд┐рдВрдбреЛрдЬрд╝ рд╕рдорд░реНрдерди рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдПрдХ рдмрдбрд╝рд╛ рдЕрдирдмреНрд▓реЙрдХрд░ рд╣реИред рд╣рдо .NET рдХреЛрд░ рдкреЛрд░реНрдЯрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рд╕рднреА рдХрд╛рдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдмрд╛рдж рдореЗрдВ "рдореБрдлреНрдд рдореЗрдВ" рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рд╕рдкреЛрд░реНрдЯ рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЬрдм рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рдмрд┐рдЯреНрд╕ рдХрд░рддреЗ рд╣реИрдВред _рд╕реНрдЯрд╛рд░реНрдЯрд┐рдВрдЧ_ рд╕реЗ рдкреЛрд░реНрдЯ рддрдХ рдХрд╛ рдЕрд╡рд░реЛрдзрдХ рднреА рдмрд╣реБрдд рдмрдбрд╝рд╛ рдирд╣реАрдВ рд╣реИред рдЙрд╕рдХрд╛ рдЬрд╛рдирд╛ рдПрдХ рдмрдбрд╝реА рдЬреАрдд рд╣реИред

рд╡рд┐рдВрдбреЛрдЬ рд╢реЙрдк рд╣реЛрдиреЗ рдХреЗ рдХрд╛рд░рдг рдпрд╣рд╛рдВ рднреА рдпрд╣ рдмрдбрд╝реА рдЬреАрдд рд╣реЛрдЧреАред рдЗрддрдиреЗ рд╕рд╛рд░реЗ рдмрдбрд╝реЗ рдЙрджреНрдпрдо рдЗрд╕реЗ рдПрдХ рдмрдбрд╝реА рдЬреАрдд рдорд╛рдиреЗрдВрдЧреЗ! рдЖрдкрдХреА рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд╕рд╛рде рдЕрджреНрдпрддрд┐рдд рд░рд╣рдиреЗ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред рд╣рдореЗрдВ рддреИрдирд╛рдд рд░рдЦреЗрдВред рдзрдиреНрдпрд╡рд╛рджред

@karelz рд╕реНрдкрд╖реНрдЯреАрдХрд░рдг рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред рд╣рд╛рдВ, 1.2 рдХреЗ рд▓рд┐рдП рдХреЗрд╡рд▓ рд╡рд┐рдВрдбреЛрдЬрд╝ рд╕реНрдХреЛрдкрд┐рдВрдЧ рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред
рд░реЙрдХрдореЗрд╕реНрдЯрд░

System.DirectoryServices.Protocols with Linux /LDAP рд╕рдорд░реНрдерди рд╣рдо рдЬреЛ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ рдЙрд╕рдХреЗ рд▓рд┐рдП рд╕рд░реНрд╡реЛрдЪреНрдЪ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рд╣реИ ..

рдкреАрдПрд╕ рд╡рд┐рдВрдбреЛрдЬрд╝-рдУрдирд▓реА рд╕реНрдХреЛрдкрд┐рдВрдЧ .netcore / .netstandard . рдХреЗ рд▓рдХреНрд╖реНрдпреЛрдВ рдХреЗ рд╡рд┐рдкрд░реАрдд рд▓рдЧрддрд╛ рд╣реИ

рд╣рдордиреЗ рдХреБрдЫ рд╕рдордп рдкрд╣рд▓реЗ System.DirectoryServices рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╕реЗ System.DirectoryServices.Protocols рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрд╡рд┐рдЪ рдХрд┐рдпрд╛ рддрд╛рдХрд┐ рд╣рдо рдЧреИрд░-рдПрдбреА рдПрд▓рдбреАрдПрдкреА рд╕рд░реНрд╡рд░ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░ рд╕рдХреЗрдВред рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдиреЗрдорд╕реНрдкреЗрд╕ рддрдХ рдкрд╣реБрдВрдЪ рд╣рдореЗрдВ рдЕрдкрдиреЗ рдХреЛрдб рдХреЛ .NET рдХреЛрд░ рдореЗрдВ рдкреЛрд░реНрдЯ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдиреЗ рдХреЗ рдХрд░реАрдм рдПрдХ рдХрджрдо рд╣реЛрдЧрд╛ред

рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЕрдЧрд░ рдпрд╣ рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо-рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╣реЛрдиреЗ рдЬрд╛ рд░рд╣рд╛ рд╣реИ рддреЛ рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдХрдо рдЙрдкрдпреЛрдЧ рд╣реЛрддрд╛ рд╣реИред .NET рдХреЛрд░ рдореЗрдВ рдЬрд╛рдиреЗ рдХреА рдЗрдЪреНрдЫрд╛ рдХрд╛ рдПрдХ рдореБрдЦреНрдп рдмрд┐рдВрджреБ рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдкреЛрд░реНрдЯреЗрдмрд┐рд▓рд┐рдЯреА рд╣реИред рд╣рдореЗрдВ рд╢рд╛рдпрдж рдЗрд╕рдХреЗ рд▓рд┐рдП рдЕрднреА рднреА рдЗрдВрддрдЬрд╛рд░ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред

рд╣рдорд╛рд░реЗ рд▓рд┐рдП .NET рдХреЛрд░ рддрдХ рдкрд╣реБрдВрдЪрдирд╛ рдбреЙрдХрд░ рдХрд╛ рд▓рд╛рдн рдЙрдард╛рдиреЗ рдФрд░ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдЕрдЬреНрдЮреЗрдпрд╡рд╛рджреА рд╣реЛрдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдереАред рдЗрд╕рд▓рд┐рдП рдХреЗрд╡рд▓ рд╡рд┐рдВрдбреЛрдЬрд╝ рдХреЗ рд╕рд╛рде рдПрд▓рдбреАрдПрдкреА рд╕рдорд░реНрдерди рдХреЗ рд╕рд╛рде рдлрдВрд╕рдирд╛ рдлрд╛рдпрджреЗрдордВрдж рдирд╣реАрдВ рд╣реЛрдЧрд╛ред

рдЖрдВрддрд░рд┐рдХ рдЪрд░реНрдЪрд╛ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред

рдореЗрд░рд╛ рд╡реЛрдЯ рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдЗрдВрдбрд┐рдкреЗрдВрдбреЗрдВрдЯ рд░реВрдЯ рд╕реЗ рдЬрд╛ рд░рд╣рд╛ рд╣реИ

рдореБрдЭреЗ рдордВрдЪ рдЕрдЬреНрдЮреЗрдпрд╡рд╛рджреА рдЯрд┐рдкреНрдкрдгреА рд╕реЗ рд╕рд╣рдордд рд╣реЛрдирд╛ рд╣реИ, рдЬрд┐рддрдирд╛ рдХрд┐ рдпрд╣ рджрд░реНрдж рд╣реЛрддрд╛ рд╣реИ рдХрд┐ рдЬрдм рддрдХ рдпрд╣ рдкреВрд░рд╛ рдирд╣реАрдВ рд╣реЛ рдЬрд╛рддрд╛ рддрдм рддрдХ рдореИрдВ рдХреЛрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ред рдореИрдВ рд╕рдордЭрддрд╛ рд╣реВрдВ рдХрд┐ рдпрд╣ рдРрд╕реА рдЪреАрдЬ рд╣реИ рдЬрд┐рд╕рдХреА рдЙрдЪреНрдЪ рд╕реНрддрд░ рдкрд░ рд╕рдореАрдХреНрд╖рд╛ рдХреА рдЬрд╛рдиреА рдЪрд╛рд╣рд┐рдПред рдЬреЛ рдЪреАрдЬ рдореБрдЭреЗ рдирд╣реАрдВ рдорд┐рд▓рддреА рд╡рд╣ рд╣реИ рдЕрд╡рдзрд╛рд░рдгрд╛ рдХреА рдЬрдЯрд┐рд▓рддрд╛? рдХрдИ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рд╕рдорд╛рдзрд╛рди рд╣реИрдВ, рдПрдбреА, рдиреЛрд╡реЗрд▓, рдЖрджрд┐ ... рдпрд╣ рдПрдХ рдХреНрд░реЙрд╕ рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо (рдЕрдЬреНрдЮреЗрдпрд╡рд╛рджреА) рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рд╕рдорд╛рдзрд╛рди рдХреЗ рд▓рд┐рдП рдХрд╣рддрд╛ рд╣реИ ... рд╣реИрдкреНрдкреА рд╣реЙрд▓рд┐рдбреЗ!

рдЬрдмрдХрд┐ рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ рдореИрдВ рд╡рд┐рдВрдбреЛрдЬрд╝-рдУрдирд▓реА рд╕реНрдХреЛрдк рдХреЗ рд╕рд╛рде рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдареАрдХ рд░рд╣ рд╕рдХрддрд╛ рдерд╛, рдореЗрд░реА рд░рд╛рдп рдореЗрдВ рдпрд╣ .NET рдХреЛрд░ рдФрд░ рдЗрд╕рдХреА рдкреЛрд░реНрдЯреЗрдмрд┐рд▓рд┐рдЯреА рдХреЗ рд╡рд┐рдЪрд╛рд░ рдХреЛ рддреЛрдбрд╝рддрд╛ рд╣реИред
рдПрдХ рдордВрдЪ рд╕реНрд╡рддрдВрддреНрд░ рд╕рдорд╛рдзрд╛рди рдкрд░ рдзреНрдпрд╛рди рдХреЗрдВрджреНрд░рд┐рдд рдХрд░рдиреЗ рдХрд╛ рдорд╛рд░реНрдЧ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред

рд╣рд╛рдБ, рд╕рд╣рдордд, .NET рдХреЛрд░ рдХреНрд░реЙрд╕-рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ рд╕реБрд╡рд┐рдзрд╛рдПрдБ/рдПрдкреАрдЖрдИ рд╕рднреА рд╕рдорд░реНрдерд┐рдд рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдкрд░ рдХрд╛рдо рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП!
рддреЛ рдЕрдЧрд░ System.DirectoryServices.Protocols рдХреЛ рдкрд╣рд▓реЗ рдкреЛрд░реНрдЯ/рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ, рддреЛ рдЗрд╕реЗ рд▓рд┐рдирдХреНрд╕ рдкрд░ рднреА рдХрд╛рдо рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред

рдореИрдВ рд╕рд╣рдордд рд╣реВрдВ рдХрд┐ рдЖрджрд░реНрд╢ рд░реВрдк рд╕реЗ рдПрдХ рдордВрдЪ рд╕реНрд╡рддрдВрддреНрд░ рд╕рдорд╛рдзрд╛рди рд▓рдХреНрд╖реНрдп рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рд╣рд╛рд▓рд╛рдБрдХрд┐ рдЕрднреА рднреА рдЗрд╕реЗ рд╡рд┐рдВрдбреЛрдЬрд╝ рдкрд░ рдирд╣реАрдВ рд╣реЛрдирд╛ рдмрд╣реБрдд рд╕рд╛рд░реЗ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрд╡рд░реЛрдзрдХ рд╣реИ рдЬреЛ рд╕рд┐рд░реНрдл рдореЗрд░реЗ рдЬреИрд╕реЗ рдХреЙрд░реНрдкреЛрд░реЗрдЯ (рдПрдбреА) рдкрд░реНрдпрд╛рд╡рд░рдг рдореЗрдВ рдордВрдЪ рдХреЗ рд╕рд╛рде рдкреНрд░рдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред рдЗрд╕рд▓рд┐рдП рдореИрдВ рдлрд┐рд▓рд╣рд╛рд▓ рдХреЗ рд▓рд┐рдП рдХреЗрд╡рд▓ рд╡рд┐рдВрдбреЛрдЬрд╝ рд╕рдорд╛рдзрд╛рди рдХрд╛ рд╕реНрд╡рд╛рдЧрдд рдХрд░реВрдВрдЧрд╛ред

рдореИрдВ рдмрд╕ рдЗрд╕рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реЛрдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдФрд░ рдХрд╣рддрд╛ рд╣реВрдВ рдХрд┐ рдореИрдВ рдХреЗрд╡рд▓ рд╡рд┐рдВрдбреЛрдЬрд╝ рд╕рдорд╛рдзрд╛рди рдХреЗ рд╕рд╛рде рдареАрдХ рд╣реВрдВ рдЬрдм рддрдХ рдХрд┐ рдХреБрдЫ рдХреНрд░реЙрд╕-рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдПрдХ рд╕рд╛рде рдирд╣реАрдВ рд░рдЦрд╛ рдЬрд╛ рд╕рдХреЗред

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ 99.9% рдбреЗрд╡рд▓рдкрд░реНрд╕ рдЬрд┐рдиреНрд╣реЗрдВ рд╕рдХреНрд░рд┐рдп рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рд╡реЗ рдПрдВрдЯрд░рдкреНрд░рд╛рдЗрдЬрд╝ рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ рдРрд╕рд╛ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдЬрд╣рд╛рдВ рд╡реЗ рд╡рд┐рдВрдбреЛрдЬрд╝ рдмреЙрдХреНрд╕ рдкрд░ рд╡рд┐рдХрд╛рд╕ рдХрд░ рд░рд╣реЗ рд╣реИрдВред

рд╣рдо рдЕрдкрдиреА рддрд░рдл рд╕реЗ рдлрдВрдбрд┐рдВрдЧ рдкрд░ рдЪрд░реНрдЪрд╛ рдХрд░ рд░рд╣реЗ рд╣реИрдВ (~ 2 рд╕рдкреНрддрд╛рд╣ рдореЗрдВ рдЕрдкрдбреЗрдЯ рдХреА рдЙрдореНрдореАрдж рд╣реИ), рдпрд╣ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдПрдкреАрдЖрдИ рд╕реЗ рд╕рд░реНрд╡реЛрдЪреНрдЪ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рд╣реИ рдЬреЛ рдЕрднреА рддрдХ .NET рдорд╛рдирдХ 2.0 рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рдирд╣реАрдВ рд╣реИрдВред

рдХреНрдпрд╛ рдРрд╕реЗ рд▓реЛрдЧ рд╣реИрдВ рдЬреЛ рд╡рд┐рдВрдбреЛрдЬрд╝ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдФрд░/рдпрд╛ рд▓рд┐рдирдХреНрд╕ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдореЗрдВ рд╕рд╣рд╛рдпрддрд╛/рдпреЛрдЧрджрд╛рди рджреЗрдиреЗ рдХреЗ рдЗрдЪреНрдЫреБрдХ рд╣реЛрдВрдЧреЗ? (рд╣рдо рдбреЗрд╕реНрдХрдЯреЙрдк рд╕реЗ тАЛтАЛтАЛтАЛрдХреЛрдб рдореЗрдВ рдбреНрд░реЙрдк рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕реЗ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдФрд░ рдЕрдзрд┐рдХ рдорд╛рд▓рд┐рд╢ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА + рдХреБрдЫ рдкрд░реАрдХреНрд╖рдг)

@karelz рдореБрдЭреЗ рдЪреАрдЬреЛрдВ рдХреЗ рд▓рд┐рдирдХреНрд╕ рдкрдХреНрд╖ рдХреЗ рд▓рд┐рдП рдпреЛрдЧрджрд╛рди рдХрд░рдирд╛ рдЕрдЪреНрдЫрд╛ рд▓рдЧреЗрдЧрд╛ред рд╣рдореЗрдВ Windows рдФрд░ рдЧреИрд░-Windows рдкреНрд░рдорд╛рдгреАрдХрд░рдг (рдСрди-рдкреНрд░рд┐рдорд╛рдЗрд╕реЗрд╕) рджреЛрдиреЛрдВ рдХреЗ рд▓рд┐рдП рдЗрд╕ рд╕рдорд░реНрдерди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдпрд╣ рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдПрдХ рдЕрд╡рд░реЛрдзрдХ рд╣реИ, рдФрд░ рд╣рдо рдЕрдкрдиреЗ рдХреНрд░реЙрд╕ рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЗ рд▓рд┐рдП .NET рдХреЛрд░ рдХреЛ рд▓рдХреНрд╖рд┐рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ (рдкрд╣рд▓реЗ рд▓рд┐рдирдХреНрд╕ рдХреА рддрд░рдл рдореЛрдиреЛ рдФрд░ рд╡рд┐рдВрдбреЛрдЬ рдХреА рддрд░рдл .NET рдерд╛)ред

рдЬрд╣рд╛рдВ рд╣рдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдмрд┐рдирд╛ рдХрд┐рд╕реА рд╕рдВрджреЗрд╣ рдХреЗ рдорджрдж рдХрд░рдирд╛ рдЪрд╛рд╣реЗрдВрдЧреЗред

рдореБрдЭреЗ рдорджрдж рдХрд░рдирд╛ рдЕрдЪреНрдЫрд╛ рд▓рдЧреЗрдЧрд╛ рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдпрдХреАрди рд╣реИ рдХрд┐ рдЖрдк рд▓реЛрдЧ рдЦреБрдж рд╕реЗ рдЬреНрдпрд╛рджрд╛ рдЕрдиреБрднрд╡реА рд╣реИрдВ рдФрд░ рдореИрдВ рдХрд┐рд╕реА рдХрд╛рдо рдХрд╛ рдирд╣реАрдВ рд╣реЛрдЧрд╛ред

@karelz @tquerec рдореБрдЭреЗ рд╡рд┐рдВрдбреЛрдЬрд╝ рдФрд░ рднрд╡рд┐рд╖реНрдп рдореЗрдВ, рд▓рд┐рдирдХреНрд╕ рдкрд░ рдкрд░реАрдХреНрд╖рдг рдореЗрдВ рдорджрдж рдХрд░рдиреЗ рдореЗрдВ рдЦреБрд╢реА рд╣реЛрдЧреАред рдореИрдВрдиреЗ рдереНрд░реЗрдб рдХреА рд╕рджрд╕реНрдпрддрд╛ рд▓реА рд╣реИ, рдЗрд╕рд▓рд┐рдП рдмрд╕ рдпрд╣рд╛рдВ рдЙрддреНрддрд░ рджреЗрдВ рдпрд╛ рдЬрдм рднреА рдЖрдкрдХреЛ рд╢рд╛рдорд┐рд▓ рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рдореЗрд░реА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛ, рддреЛ рд╕рдВрдкрд░реНрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдореЗрд░рд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд░реЗрдВред рдЗрд╕ рдкрд░ рдЖрдкрдХреЗ рдХрд╛рдо рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред рдпрд╣ рд▓рдВрдмреЗ рд╕рдордп рд╕реЗ рдкреНрд░рддреАрдХреНрд╖рд┐рдд рд╣реИ рдФрд░, рднрд▓реЗ рд╣реА рд╡реГрджреНрдзрд┐рд╢реАрд▓ рд╣реЛ, рдпрд╣ .NET рдХреЛрд░ рдХреЛ рдЖрдЧреЗ рдмрдврд╝рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрдЪреНрдЫрд╛ рдХрджрдо рд╣реЛрдЧрд╛ред

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ "рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд рд╡рд┐рдВрдбреЛрдЬ" рд╢реБрд░реВ рдореЗрдВ рдПрдХ рдЕрдЪреНрдЫрд╛ рд▓рдХреНрд╖реНрдп рд╣реИ, "рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд" рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рдпрд╣ рдиреИрдиреЛрд╕реЗрд╡рд░ рдФрд░ рдХрдВрдЯреЗрдирд░реЛрдВ рдореЗрдВ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ (рдпрд╛рдиреА рдЧреИрд░-рдбреЛрдореЗрди рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдорд╢реАрдиреЗрдВ рдЬреЛ рдкреВрд░реНрдг .NET рд╕реАрдПрд▓рдЖрд░ рдирд╣реАрдВ рдЪрд▓рд╛ рд╕рдХрддреА рд╣реИрдВ)ред рдпрд╣ рдЖрдкрдХреЛ рдПрдХ рддреНрд╡рд░рд┐рдд рдЬреАрдд рдФрд░ рдЕрдиреНрдп рд╕рд░реНрд╡рд░реЛрдВ рдкрд░ рдЗрд╕реЗ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреАрдЫреЗ рдХреА рдУрд░ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдмрд┐рдВрджреБ рджреЗрдЧрд╛ред

рд╣рдордиреЗ рдЗрд╕ рдХрд╛рдо рдХреЛ рдЬрд▓реНрдж рд╕реЗ рдЬрд▓реНрдж рдЕрдирдмреНрд▓реЙрдХ рдХрд░рдиреЗ рдХрд╛ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рддрд░реАрдХрд╛ рдЦреЛрдЬрдиреЗ рдХреЗ рд▓рд┐рдП @tquerec рдФрд░ рд╣рдорд╛рд░реА рдкреНрд░рдмрдВрдзрди рд╢реНрд░реГрдВрдЦрд▓рд╛рдУрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд┐рдпрд╛ред рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдЬрдирд╡рд░реА рдХреЗ рдЕрдВрдд рд╕реЗ рдкрд╣рд▓реЗ рдХреЛрдИ рднреА рд╡реНрдпрдХреНрддрд┐ рдореБрдХреНрдд рдирд╣реАрдВ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╣рдо рдЗрд╕ рдмреАрдЪ рдХреЗрд╡рд▓ рд╕реАрдорд┐рдд рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреЗ рд╕рд╛рде рд╕рд╛рдореБрджрд╛рдпрд┐рдХ рдпреЛрдЧрджрд╛рди рдХреЛ рдЕрдирд╡рд░реЛрдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдкрдирд╛ рд╕рд░реНрд╡рд╢реНрд░реЗрд╖реНрда рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВрдЧреЗ рдФрд░ рд╣рдорд╛рд░реА рддрд░рдл рд╕реЗ рдХреБрдЫ рд╕реНрд╡рдпрдВрд╕реЗрд╡реА рдХрд╛рдо рдХрд░реЗрдВрдЧреЗ ( @ianhays @tquerec and @karelz)ред

рдпрд╣рд╛рдБ рд╣рдо рдХреНрдпрд╛ рдХрд░рдиреЗ рдХреА рдпреЛрдЬрдирд╛ рдмрдирд╛ рд░рд╣реЗ рд╣реИрдВ:
@ianhays рд╣рдореЗрдВ CoreFX рд░реЗрдкреЛ рдореЗрдВ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╢реБрд░реВ рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░реЗрдЧрд╛ (рдХреБрдЫ рд╕реНрд░реЛрдд рдХреЛрдб рдЬреЛрдбрд╝реЗрдВ, рдЙрджрд╛рд╣рд░рдг рджрд┐рдЦрд╛рддреЗ рд╣реБрдП рдХрд┐ рдЗрд╕реЗ рдХреИрд╕реЗ рдХрд░рдирд╛ рд╣реИ, рдмрд┐рд▓реНрдб, рдкреИрдХреЗрдЬрд┐рдВрдЧ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ, рднрд╡рд┐рд╖реНрдп рдХреЗ рд▓рд┐рдирдХреНрд╕/рдореИрдХ рдкреЛрд░реНрдЯ рдЖрджрд┐ рдХреЗ рд▓рд┐рдП рдкреНрд░реЛрдЬреЗрдХреНрдЯ рддреИрдпрд╛рд░ рдХрд░рдиреЗ рдХреА рд╕рд▓рд╛рд╣ рджреЗрдВ)ред
рд╣рдо рдХреЗрд╡рд▓ рд╡рд┐рдВрдбреЛрдЬрд╝ рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рдХрд░реЗрдВрдЧреЗ (рдпреЛрдЧрджрд╛рди рдХрд╛ рд╕реНрд╡рд╛рдЧрдд рд╣реИ)ред рд╣рдо рдЗрд╕ рдмрд┐рдВрджреБ рдкрд░ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдпрд╛ рдПрдкреАрдЖрдИ рд╕рддрд╣ рдореЗрдВ рдХреЛрдИ рдХрд╛рд░реНрдпрд╛рддреНрдордХ рдкрд░рд┐рд╡рд░реНрддрди рдирд╣реАрдВ рдХрд░реЗрдВрдЧреЗ, рдЬрдм рддрдХ рдХрд┐ рд╡реЗ рдкреЛрд░реНрдЯ рдХреЗ рд▓рд┐рдП .NET рдХреЛрд░ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рди рд╣реЛрдВред
рдЕрдЧрд▓рд╛ (рд╕рдВрднрд╛рд╡рд┐рдд рд░реВрдк рд╕реЗ рд╕рдорд╛рдирд╛рдВрддрд░) рдЪрд░рдг рдкрд░реАрдХреНрд╖рдг рдЬреЛрдбрд╝рдирд╛ рд╣реЛрдЧрд╛ред рд╣рдореЗрдВ рдореМрдЬреВрджрд╛ (рдХреНрд▓реЛрдЬреНрдб-рд╕реЛрд░реНрд╕ .NET рдлреНрд░реЗрдорд╡рд░реНрдХ) рдкрд░реАрдХреНрд╖рдг рдбрд┐рдЬрд╛рдЗрди рдкрд░ @tquerec рдХреЗ рд╕рд╛рде рдЪрд░реНрдЪрд╛ рд╢реБрд░реВ рдХрд░рдиреА рдЪрд╛рд╣рд┐рдП, рдпрджрд┐ рдХреБрдЫ рд╣реИ рдЬрд┐рд╕рдХрд╛ рд╣рдо рд▓рд╛рдн рдЙрдард╛ рд╕рдХрддреЗ рд╣реИрдВ, рдпрд╛ рдпрджрд┐ рд╣рдореЗрдВ рд╢реБрд░реБрдЖрдд рд╕реЗ рд╢реБрд░реБрдЖрдд рдХрд░рдиреА рд╣реИред
рдмрд╛рдж рдореЗрдВ, рд╣рдо Linux/Mac рдкреЛрд░реНрдЯ рдкрд░ рдзреНрдпрд╛рди рдХреЗрдВрджреНрд░рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

@gortok @ h3smith @CalebMacdonaldBlack @ SOM-fermonte, рдФрд░ рдХрд┐рд╕реА рдФрд░ рдХреЛ рджрд┐рд▓рдЪрд╕реНрдкреА рд╣реИ, @ianhays рдХрд┐рдХ рдХреЗ рдкреНрд░рдпрд╛рд╕ рд╢реБрд░реВ рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж рд╣рдореЗрдВ рдЖрдкрдХрд╛ рдпреЛрдЧрджрд╛рди рд▓реЗрдиреЗ рдореЗрдВ рдЦреБрд╢реА рд╣реЛрдЧреА (ETA: рдЕрдЧрд▓реЗ рд╕рдкреНрддрд╛рд╣ рдХреЗ рдордзреНрдп рдореЗрдВ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ)ред рдпрджрд┐ рдЖрдкрдХреЗ рдХреЛрдИ рдкреНрд░рд╢реНрди рдпрд╛ рд╕реБрдЭрд╛рд╡ рд╣реИрдВ, рддреЛ рдХреГрдкрдпрд╛ рд╣рдореЗрдВ рдмрддрд╛рдПрдВред

рдХреНрдпрд╛ рдпрд╣ рдХрд╛рд░реНрдп SqlClient рдЬреИрд╕реЗ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЛ рд▓рд┐рдирдХреНрд╕ рдкрд░ рдЪрд▓рддреЗ рд╕рдордп рд╡рд┐рдВрдбреЛрдЬ рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ рд▓реЗрдХрд┐рди рдПрдХ SQL рд╕рд░реНрд╡рд░ рд╕реЗ рдХрдиреЗрдХреНрдЯ рд╣реЛрддрд╛ рд╣реИ рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рд╡рд┐рдВрдбреЛрдЬ рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ?

рд▓рд┐рдирдХреНрд╕ рдкрд░ рдЪрд▓ рд░рд╣реЗ .NET рдХреЛрд░ рдореЗрдВ рдЪреАрдЬреЛрдВ рдХреЛ рдкреЛрд░реНрдЯ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рдпрд╣ рдореЗрд░реЗ рд░реЛрдб-рдмреНрд▓реЙрдХ рдореЗрдВ рд╕реЗ рдПрдХ рд╣реИред рд╣рдорд╛рд░реЗ рд╕рднреА рдПрдВрдЯрд░рдкреНрд░рд╛рдЗрдЬрд╝ Microsoft SQL рд╕рд░реНрд╡рд░ рдХреЗрд╡рд▓ рдПрдХ рд╕реЗрд╡рд╛ рдЖрдИрдбреА (рдЧреИрд░-рд╕рдВрд╡рд╛рджрд╛рддреНрдордХ) рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХрдиреЗрдХреНрд╢рди рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреЗ рд╣реИрдВ рдЬреЛ AD рдореЗрдВ рд╣реИред

BLGMboy. рдЖрдкрдХреА рд╕рдорд╕реНрдпрд╛ рдЗрд╕ рдмрд╛рдд рдХрд╛ рдПрдХ рдкреНрд░рдореБрдЦ рдЙрджрд╛рд╣рд░рдг рд╣реИ рдХрд┐ рдирдП рд╕реБрдЭрд╛рдП рдЧрдП рдореЙрдбрд▓реЛрдВ рдХреЗ рд╕рд╛рде рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдХреНрд░реЙрд╕-рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рд╕рдВрдЧрддрддрд╛ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЪреАрдЬреЛрдВ рдХреЛ "рдЬрд╛рдВрдЪ" рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреНрдпреЛрдВ рд╣реИред рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдЕрдзрд┐рдХ рдкрд░рд┐рджреГрд╢реНрдп рд╣реИрдВ рддреЛ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдкрдХрд╛ рдкрд░реНрдпрд╛рд╡рд░рдг рдЗрд╕ рдмрд╛рдд рдХрд╛ рдПрдХ рдЕрдЪреНрдЫрд╛ рдЙрджрд╛рд╣рд░рдг рд╣реИ рдХрд┐ рдЪреАрдЬреЛрдВ рдХреЛ рдХреИрд╕реЗ рдкрд╛рд░ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдФрд░ рдЖрдкрдХреЛ рдХреЛрд░ рдХреЗ рдПрдбреА рд╣рд┐рд╕реНрд╕реЗ рдХреЗ рд╕рд╛рде рд╣реЛрдиреЗ рд╡рд╛рд▓реА рдХрд┐рд╕реА рднреА рдЕрдиреНрдп рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╕реВрдЪреАрдмрджреНрдз рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред

рд╣рд╛рдВ, рдореИрдВ рдЗрд╕ рд╕реВрддреНрд░ рдХреЛ рдЬрд░реВрд░ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦреВрдВрдЧрд╛ рдФрд░ рдЬреЛ рдХреБрдЫ рднреА рдореБрдЭреЗ рдорд┐рд▓реЗ рдЙрд╕реЗ рд╕рд╛рдЭрд╛ рдХрд░реВрдВрдЧрд╛ред рдмрд╕ рд╕рднреА рдХреЛ рдпрд╣ рдмрддрд╛рдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛ рдХрд┐ рдпрд╣ SQL рдлрд╝рд╛рд░реНрдо рд╡рд╛рд▓реЗ рдЙрджреНрдпрдореЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рдмрд╣реБрдд рдмрдбрд╝рд╛ рд╢реЛ рд╕реНрдЯреЙрдкрд░ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рд╡рд░реНрдгрд┐рдд рдХреЗ рд░реВрдк рдореЗрдВ рд╕рдЦреНрдд рд╕реБрд░рдХреНрд╖рд╛ рд╣реИред

рдпрд╣ рдИрдПрдл рдХреЛрд░ рдЬреИрд╕реА рдХрд┐рд╕реА рдЪреАрдЬ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╢реЛ рд╕реНрдЯреЙрдкрд░ рднреА рд╣реИ рдЬреЛ рдЕрдВрддрддрдГ рдПрдХ рд╣реА рд╕рдорд╕реНрдпрд╛ рд╣реЛрдЧреАред

System.DirectoryServices рдХреЛ рдЕрдм CoreFX рдореЗрдВ рдорд┐рд▓рд╛ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдЕрдЧрд▓рд╛ рдХрджрдо рдЗрд╕реЗ .NET рдХреЛрд░ - рд╡рд┐рдВрдбреЛрдЬрд╝ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рдХрд░рдирд╛ рдФрд░ рдкрд░реАрдХреНрд╖рдг рдЬреЛрдбрд╝рдирд╛ рд╣реИред

рдзрдиреНрдпрд╡рд╛рдж рдЗрдпрд╛рдиред рдЗрд╕ рдореБрджреНрджреЗ рдкрд░ рдХреБрдЫ рдХрд░реНрд╖рдг рджреЗрдЦрдирд╛ рдЕрдЪреНрдЫрд╛ рд╣реИ!

рдзрдиреНрдпрд╡рд╛рдж рдЗрдпрд╛рди!

рдЕрджреНрдпрддрди рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЬрдирд╛: рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ: рдмреЗрд╣рддрд░ рдЦреЛрдЬ рдпреЛрдЧреНрдпрддрд╛ рдХреЗ рд▓рд┐рдП рдЗрд╕ рдЕрдВрдХ рдореЗрдВ рд╕рдмрд╕реЗ рд╢реАрд░реНрд╖ рдкрдж рдкрд░ рд▓реЗ рдЬрд╛рдпрд╛ рдЧрдпрд╛

рдпрджрд┐ рдХреЛрдИ рдХрд┐рд╕реА рднреА рдХрджрдо рдкрд░ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИ, рддреЛ рдХреГрдкрдпрд╛ рдЙрд╕рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд░реЗрдВ рдФрд░ рджреЛрд╣рд░рд╛рдП рдЧрдП рдкреНрд░рдпрд╛рд╕ рд╕реЗ рдмрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдпрд╣рд╛рдВ рд╕рдордиреНрд╡рдп рдХрд░реЗрдВред рдореИрдВ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдЖрдкрдХреЛ рднреА рд╕рд╣-рдЕрд╕рд╛рдЗрди рдХрд░ рджреВрдВрдЧрд╛ред

System.DirectoryServices рдиреЗрдорд╕реНрдкреЗрд╕ рдореЗрдВ рдСрди-рдкреНрд░рд┐рдорд╛рдЗрд╕реЗрд╕ рдПрдВрдЯрд░рдкреНрд░рд╛рдЗрдЬрд╝ рд╡рд┐рдВрдбреЛрдЬрд╝ рдРрдкреНрд╕ рдХреЗ рд▓рд┐рдП рдРрд╕реА рдорд╣рддреНрд╡рдкреВрд░реНрдг рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рд╢рд╛рдорд┐рд▓ рд╣реИ рдЬреЛ рдЗрд╕ рдореБрджреНрджреЗ рдкрд░ рдХреБрдЫ рдкреНрд░рдЧрддрд┐ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдмрдврд╝рд┐рдпрд╛ рд╣реИред рдЕрдЪреНрдЫрд╛ рдХрд╛рдо рдХрд░рддреЗ рд░рд╣реЗрдВред

рдореИрдВрдиреЗ рд╕реНрд░реЛрддреЛрдВ рдХреЛ рдареАрдХ рдХрд░ рд▓рд┐рдпрд╛ рд╣реИ рдФрд░ System.DirectoryServices рдЕрдм рдирд┐рд░реНрдорд╛рдг рдХрд░ рд░рд╣рд╛ рд╣реИред рдореБрдЭреЗ рдЬрд▓реНрдж рд╣реА рдПрдХ рдкреАрдЖрд░ рднреЗрдЬрдирд╛ рдЪрд╛рд╣рд┐рдПред

рджреВрд╕рд░реЗ рджреМрд░ рдореЗрдВ рдпреЛрдЧрджрд╛рди рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж @tquerec !
рдХреНрдпрд╛ рд╢реЗрд╖ 2 рдирд╛рдорд╕реНрдерд╛рдиреЛрдВ рдпрд╛ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдореЗрдВ рд╕рд╣рд╛рдпрддрд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рд╕реНрд╡рдпрдВрд╕реЗрд╡рдХ рд╣реИрдВ? ( @gortok @h3smith @CalebMacdonaldBlack @ SOM-fermonte)

@ jay98014 рдореЗрдВ https://github.com/dotnet/corefx/pull/15324 рдкрд░ рдПрдХ рдкреАрдЖрд░ рдЕрдк рд╣реИ рдФрд░ рдЖрдЧреЗ рд╕рдорд░реНрдерди рдЬреЛрдбрд╝рдиреЗ рдФрд░ рдкреНрд░реЛрдЯреЛрдХреЙрд▓/рдЦрд╛рддрд╛ рдкреНрд░рдмрдВрдзрди рднрд╡рди рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдПред

рдЗрд╕рдХреЗ рд▓рд╛рдпрдХ рдХреНрдпрд╛ рд╣реИ, рдореИрдВ рд╣рд╛рд▓ рд╣реА рдореЗрдВ System.DirectoryServices.Protocols рдХреЗ рд╕рд╛рде рдкреНрд░рдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдФрд░ рдкрд╛рдпрд╛ рдХрд┐ рдХрдИ рд╕рд░рд▓ System.DirectoryServices рдкрд░рд┐рджреГрд╢реНрдп System.DirecotryServices.Protocols рдХреЗ рд╕рд╛рде рдирдХрд▓ рдХрд░рдирд╛ рдореБрд╢реНрдХрд┐рд▓ рдирд╣реАрдВ рд╣реИ ред рдЙрд╕рдХреЗ рдЖрдзрд╛рд░ рдкрд░, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдХреНрд░реЙрд╕-рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдкрд░ рдХрд╛рдо рдХрд░рдиреЗ рд╡рд╛рд▓реЗ S.DS рдФрд░ S.DS.AM рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рдПрдХ рдХрдо рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рд╣реЛ рд╕рдХрддреА рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдПрдХ рдХреНрд░реЙрд╕-рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо System.DirectoryServices.Protocols рдХрдИ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реЗрд╡рд╛ рдпреЛрдЧреНрдп рдХрд╛рдо рд╣реЛ рд╕рдХрддрд╛ рд╣реИред

рдмреЗрд╢рдХ, рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдХреНрд░реЙрд╕-рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдПрд▓рдбреАрдПрдкреА рд╕рдорд╛рдзрд╛рди рдХреЗ рд░реВрдк рдореЗрдВ рдХрд╛рдо рдХрд░ рд░рд╣реЗ System.DirectoryServices.Protocols рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рдПрдХ рдЙрдЪреНрдЪ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рд╣реИред

рдХреНрдпрд╛ рдореИрдВ рдкреБрд▓ рдЕрдиреБрд░реЛрдз рд╕рд╣реА рдкрдврд╝ рд░рд╣рд╛ рд╣реВрдБ? рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕реЗ рдХреБрдЫ рджрд┐рди рдкрд╣рд▓реЗ рд╕реНрд╡реАрдХрд╛рд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдЗрд╕рд▓рд┐рдП рдпрджрд┐ рд╣рдо рд╕реНрд░реЛрдд рд╕реЗ рдирд┐рд░реНрдорд╛рдг рдХрд░рддреЗ рд╣реИрдВ рддреЛ рд╣рдореЗрдВ рдЗрд╕реЗ рдЖрдЬрд╝рдорд╛рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП?

рд╣рд╛рдВ, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рд╕рднреА DirectoryServices рдмрд┐рд▓реНрдбрд┐рдВрдЧ рд╣реИрдВ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдХреЛрдИ рдкрд░реАрдХреНрд╖рдг рдирд╣реАрдВ рд╣реИ - рдЬреЛ рд╣рдореЗрдВ рдкреИрдХреЗрдЬ рдХреЛ рд╕реНрдерд┐рд░ рдХреЗ рд░реВрдк рдореЗрдВ рд╢рд┐рдкрд┐рдВрдЧ рдХрд░рдиреЗ рдФрд░ рдХреЛрдб рдмреЗрд╕ (рдмрдЧ рдлрд┐рдХреНрд╕, рдПрдиреНрд╣рд╛рдВрд╕рдореЗрдВрдЯ рдЗрддреНрдпрд╛рджрд┐) рдореЗрдВ рд╕реБрдзрд╛рд░ рд╕реЗ рд░реЛрдХрддрд╛ рд╣реИред
рдпрджрд┐ рдЖрдк рдЗрд╕реЗ рд╕реНрд░реЛрдд рд╕реЗ рдмрдирд╛рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рддреЛ рдпрд╣ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ред рдпрджрд┐ рдЖрдк (рдпрд╛ рдХреЛрдИ рдФрд░) рд╣рдореЗрдВ рдкрд░реАрдХреНрд╖рдг рдЬреЛрдбрд╝рдиреЗ рдореЗрдВ рдорджрдж рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рдпрд╛ рд▓рд┐рдирдХреНрд╕ рдкреЛрд░реНрдЯ рд╢реБрд░реВ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдпрд╣ рдФрд░ рднреА рдмреЗрд╣рддрд░ рд╣реЛрдЧрд╛ :)

рд╣реЗрд▓реЛ рд╕рдм рд▓реЛрдЧ,

рд╣рдо рдПрдХ рдЙрджреНрдпрдо рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рд╣реЛ рд░рд╣реЗ рд╣реИрдВ рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рд╕рдХреНрд░рд┐рдп рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рд╕рдорд░реНрдерди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рд╣рдо рдЕрдкрдиреЗ рдбреЛрдореЗрди рдХреЗ рд▓рд┐рдП 100% рдЖрдВрддрд░рд┐рдХ рд╣реИрдВред рдХреНрдпрд╛ рдХреЛрдИ рдХреГрдкрдпрд╛ рдЗрд╕ рдореБрджреНрджреЗ рдХреА рд╕реНрдерд┐рддрд┐ рдФрд░ рдЕрдЧрд▓реА рдореБрдЦреНрдп рд░рд┐рд▓реАрдЬрд╝ рдХреЗ рд▓рд┐рдП рдЕрдкреЗрдХреНрд╖рд╛рдПрдВ рдкреНрд░рджрд╛рди рдХрд░ рд╕рдХрддрд╛ рд╣реИ? рдореИрдВ рдХреНрд╖рдорд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдореИрдВ рдЧрд┐рдЯрд╣рдм рд╕рдореБрджрд╛рдп рдХреЗ рд▓рд┐рдП рдирдпрд╛ рд╣реВрдВ рдФрд░ рдЕрднреА рддрдХ рд╕рднреА рд╡рд┐рднрд┐рдиреНрди рд╢рдмреНрджрд╛рд╡рд▓реА рдФрд░ рд╕реНрдерд┐рддрд┐ рдХреА рдЬрд╛рдирдХрд╛рд░реА рдирд╣реАрдВ рд╕рдордЭрддрд╛ рд╣реВрдВред

рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрд▓рдЧ рдкрд╣рдЪрд╛рди рдореЙрдбрд▓ рдХреЗ рдмрдЬрд╛рдп рд╕рджрд╕реНрдпрддрд╛ рдХреЗ рд▓рд┐рдП рд╕рдХреНрд░рд┐рдп рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛, рдЬрд┐рд╕реЗ рдЕрд▓рдЧ рд╕реЗ рдкреНрд░рдмрдВрдзрд┐рдд рдХрд░рдирд╛ рд╣реЛрдЧрд╛ рдФрд░ рд╕рд╛рде рд╣реА рдбреЗрдЯрд╛ рдмреЗрдореЗрд▓ рднреА рд╣реЛрдЧрд╛ред

рдЕрдЧреНрд░рд┐рдо рдореЗрдВ рдзрдиреНрдпрд╡рд╛рдж!

рдЙрд╕ рдкреНрд░рд╢реНрди рдХреЗ рд▓рд┐рдП @karelz , рд▓реЗрдХрд┐рди рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЙрддреНрддрд░ рдпрд╣ рд╣реИ рдХрд┐ рд╡рд░реНрддрдорд╛рди рдореЗрдВ 2.0 рд░рд┐рд▓реАрдЬ рдореЗрдВ рдЗрд╕рдХреА рдЙрдореНрдореАрдж рдирд╣реАрдВ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдЗрд╕рдХреЗ рд▓рд┐рдП рдПрдХ рдбреЗрд╡рд▓рдкрд░ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдирд╣реАрдВ рд╣реИред рд╕рд╛рдореБрджрд╛рдпрд┐рдХ рдпреЛрдЧрджрд╛рди рдХрд╛ рд╕реНрд╡рд╛рдЧрдд рд╣реИред рдЗрд╕реЗ 2.0 рд░рд┐рд▓реАрдЬ _in_ рд╢рд┐рдк рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рдпрд╣ рдХрд┐рд╕реА рднреА рд╕рдордп рдЬрд╣рд╛рдЬ рддреИрдпрд╛рд░ рд╣реЛрдиреЗ рдкрд░ NuGet рдкрд░ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рдЙрддреНрддрдо! рдЖрдкрдиреЗ рдореЗрд░реЗ рдкреНрд░рд╢реНрди рдХрд╛ рдЙрддреНрддрд░ рджрд┐рдпрд╛ред

рдзрдиреНрдпрд╡рд╛рджред

@nevcoBpalacio рдпреЛрдЧрджрд╛рди рдкрд░ рд╢реЙрдЯ рд▓реЗрдиреЗ рдореЗрдВ рдХреЛрдИ рджрд┐рд▓рдЪрд╕реНрдкреА рд╣реИ?

рдореЗрд░реА рд░реБрдЪрд┐ рд╣реИ, рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдЗрд╕ рд╡рд┐рд╖рдп рдХреЗ рд╕рд╛рде рдХреНрдпреЛрдВрдХрд┐ рдореБрдЭреЗ рдкрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдХрдИ рд▓реЛрдЧреЛрдВ рдХреЛ рдЙрджреНрдпрдо рд╕рдорд╛рдзрд╛рдиреЛрдВ рдХреЗ рд╕рд╛рде рдореВрд▓ рдореЗрдВ рдЬрд╛рдиреЗ рд╕реЗ рд░реЛрдХрддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдБрдХрд┐, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рдХрд╛рдо рд╣реИ рдФрд░ рдореБрдЭреЗ рдЗрд╕рдХреЗ рд▓рд┐рдП рджрд┐рди (рдмрдЪреНрдЪреЛрдВ рдХреЗ рд╕рд╛рде рд╢рд╛рдо) рдореЗрдВ рд╕рдордп рдирд╣реАрдВ рдорд┐рд▓ рд░рд╣рд╛ рд╣реИред рдореИрдВ рдЧрд┐рдЯрд╣рдм рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдШрд░ рдкрд░ рдЕрдкрдиреЗ рд╕рд┐рд╕реНрдЯрдо рдХреЛ рдлрд┐рд░ рд╕реЗ рдЯреВрд▓ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реВрдВрдЧрд╛ред рдореИрдВ рдЖрдкрдХреА рд╕рд░рд╛рд╣рдирд╛ рдХрд░рддрд╛ рд╣реВрдВ рд╣рд╛рд▓рд╛рдВрдХрд┐ рдкреВрдЫ рд░рд╣рд╛ рд╣реВрдВ! рдзрдиреНрдпрд╡рд╛рджред

Nevcobpalacio, рдпрджрд┐ рдЖрдк vs17 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЖрдкрдХреЛ рдХреНрд░реЙрд╕ рдкреНрд▓реЗрдЯ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рддреЛ рдЖрдк рд╕рдВрдкреВрд░реНрдг .net рдврд╛рдВрдЪреЗ рдХреЛ рд▓рдХреНрд╖рд┐рдд рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдХреЛрд░ рд╡реЗрдм рдРрдк рдЯреЗрдореНрдкреНрд▓реЗрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЕрдкрдиреА рдЗрдЪреНрдЫрд┐рдд рдЪреАрдЬрд╝реЛрдВ рдХреЗ рдХрд░реАрдм рдкрд╣реБрдВрдЪ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдкреБрд░рд╛рдиреЗ рддрд░реАрдХреЗ рд╕реЗ system.directoryservices.accountmanagement dll рдХреЛ рд░реЗрдлрд░реА рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕ рджреМрд░рд╛рди рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдкрдирд╛ рдЦреБрдж рдХрд╛ рдорд┐рдбрд▓рд╡реЗрдпрд░ рд░реЛрд▓ рдХрд░реЗрдВред рдореИрдВрдиреЗ рдЬреЛ рджреЗрдЦрд╛ рд╣реИ рдЙрд╕рд╕реЗ рдПрдХ рд╣реА рдХреЛрдб рдХреЛ рд▓рдХреНрд╖реНрдпреАрдХрд░рдг .net рдХреЛрд░ рддрдХ рд▓реЗ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рд╕рд┐рд╡рд╛рдп рдЗрд╕рдХреЗ рдХрд┐ рдЖрдк nuget рдкреИрдХреЗрдЬ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗ рдФрд░ рд░реЗрдлрд░реА рдЫреЛрдбрд╝ рджреЗрдВрдЧреЗред рдЖрд╢рд╛ рд╣реИ рдХрд┐ рдпрд╣ рдЬрд╛рдирдХрд╛рд░реА рдЖрдкрдХреЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЛ рдкрдЯрд░реА рдкрд░ рд▓рд╛рдиреЗ рдореЗрдВ рдорджрдж рдХрд░реЗрдЧреАред

@ los93sol рдЙрд╕ рд╕реБрдЭрд╛рд╡ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред рд╣рдорд╛рд░реА рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдЪрд░реНрдЪрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдЗрд╕реЗ рдЙрд╕ рд╕реБрдЭрд╛рд╡ рдХреЗ рд╕рдорд╛рди рдмрдирд╛рдпрд╛ рдЬрд╛рдП рдФрд░ рдЗрд╕реЗ рдПрдХ рдорд┐рдбрд▓ рд╡реЗрдпрд░ рдореЙрдбреНрдпреВрд▓ рдмрдирд╛рдпрд╛ рдЬрд╛рдП рдЬрд┐рд╕реЗ рд╣рдо рдмрд╛рдж рдореЗрдВ рдиреБрдЧреЗрдЯ рдореЗрдВ рдХрд┐рд╕реА рднреА рднреВрдорд┐ рдкрд░ "рдХрдЯ рдУрд╡рд░" рдХрд░ рд╕рдХреЗрдВред рдмрд╣реБрдд рдмрд╣реБрдд рдзрдиреНрдпрд╡рд╛рдж!

рдореБрдЭреЗ рдЗрд╕ рд╕реБрдЭрд╛рд╡ рдкрд░ рдЖрдкрдХреА рдЯрд┐рдкреНрдкрдгреА рдФрд░ рдкреНрд░рд╢рдВрд╕рд╛ рдХрд░рдиреА рд╣реИред рдХреЛрд░ рдореЗрдВ рдЗрд╕ рдмрджрд▓рд╛рд╡ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдореБрдЭреЗ рдкрд╣рд▓реЗ рд╕рдВрджреЗрд╣ рдерд╛ред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдЗрд╕ рд╕рд╛рдореБрджрд╛рдпрд┐рдХ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреЗ рд╕рд╛рде, рдЗрд╕ рддрд░рд╣ рдХреА рдЪрд░реНрдЪрд╛рдПрдБ рдкреНрд░рдХрд╛рд╢ рдореЗрдВ рдЖрддреА рд╣реИрдВ рдФрд░ рдЗрди рдмрдбрд╝реЗ рдмрджрд▓рд╛рд╡реЛрдВ рдХреЗ рджреМрд░рд╛рди рд╕рднреА рдЪреАрдЬреЛрдВ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдореЗрдВ рд╣рдорд╛рд░реА рдорджрдж рдХрд░рддреА рд╣реИрдВред

рдзрдиреНрдпрд╡рд╛рджред

рдХреНрдпрд╛ рдХреЛрдИ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рд▓рд╛рдкрддрд╛ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдкрд░ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИ, рдпрд╛ System.DirectoryServices.Protocols рдХреЛ Linux/Mac рдореЗрдВ рдкреЛрд░реНрдЯ рдХрд░рдиреЗ рдкрд░ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИ?

@pasikarkkainen AFAIK рдЗрд╕ рд╕рдордп Microsoft рдЯреАрдореЛрдВ рдХреА рдУрд░ рд╕реЗ рдРрд╕рд╛ рдХреЛрдИ рд╕рдХреНрд░рд┐рдп рдкреНрд░рдпрд╛рд╕ рдирд╣реАрдВ рд╣реИ (рдЬреЛ рдирд┐рдХрдЯ рднрд╡рд┐рд╖реНрдп рдореЗрдВ рдмрджрд▓ рднреА рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдирд╣реАрдВ рднреА)ред рдореИрдВрдиреЗ рд╕рдореБрджрд╛рдп рд╕реЗ рдХрд┐рд╕реА рдХреЛ рднреА рдЗрд╕ рдкрд░ рдХрд╛рдо рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░рддреЗ рдирд╣реАрдВ рджреЗрдЦрд╛ред
рдХреНрдпрд╛ рдЖрдк рдпреЛрдЧрджрд╛рди рджреЗрдиреЗ рдореЗрдВ рд░реБрдЪрд┐ рд░рдЦрддреЗ рд╣реИрдВ, рдпрд╛ рд╕рд┐рд░реНрдл рд╕реНрдерд┐рддрд┐ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЙрддреНрд╕реБрдХ рд╣реИрдВ?

@karelz рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╡реЗ рдЗрд╕ рдЧрд░реНрдореА рдореЗрдВ .NET Core 2.0 рд░рд┐рд▓реАрдЬрд╝ рдХреЗ рд▓рд┐рдП DirectoryServices рдХреЛ рд▓рдХреНрд╖рд┐рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВред

@shanselman . рд╕реЗ рдЙрджреНрдзрд░рдг

рдПрдбреА - рдкреВрд░реА рддрд░рд╣ рд╕реЗ, рдпрд╣ рдПрдХ рдЕрдВрддрд░ рд╣реИ рдпрджрд┐ рдЖрдк рд╕реАрдзреЗ рдПрд▓рдбреАрдПрдкреА рдХреЛ рдХреЙрд▓ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред рдЖрдк рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдЕрдм рд╡рд┐рдВрдбреЛрдЬ рдСрде рдХреЗ рдЦрд┐рд▓рд╛рдл рдкреНрд░рдорд╛рдгрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд╣рдо рдЧрд░реНрдорд┐рдпреЛрдВ рдХреА рд╕рдордп рд╕реАрдорд╛ рдХреЗ рдЖрд╕рдкрд╛рд╕ рдХреЛрд░ 2.0 рдХреЗ рд▓рд┐рдП рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ DirectoryServices рдирд╛рдо рд╕реНрдерд╛рди рд░рдЦрдиреЗ рдХреА рдпреЛрдЬрдирд╛ рдмрдирд╛ рд░рд╣реЗ рд╣реИрдВ

=> https://github.com/aspnet/Home/issues/2022#issuecomment -299536123

рд╣рд╛рдВ, рдпрд╣ рджрд╛рд▓рд╛рди рдХреА рдЪрд░реНрдЪрд╛рдУрдВ рдХреЗ рдЕрдиреБрд░реВрдк рд╣реИ рдЬреЛ рдореИрдВрдиреЗ рд╕реБрдирд╛ рд╣реИред рдореБрдЭреЗ рдЕрднреА рдпрдХреАрди рдирд╣реАрдВ рдерд╛ рдХрд┐ рдпрд╣ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рд╣реИ рдФрд░ рдЗрд╕рдХреЗ рд▓рд┐рдП рдХрд┐рддрдирд╛ (рдФрд░ рдХрд┐рд╕рдиреЗ) рдкреНрд░рддрд┐рдмрджреНрдз рдХрд┐рдпрд╛ рд╣реИред рдореИрдВ рд╕рдордЭрддрд╛ рд╣реВрдВ рдХрд┐ рдпрд╣ рдХрд╣рдирд╛ рд╕реБрд░рдХреНрд╖рд┐рдд рд╣реИ, рдЗрд╕ рдкрд░ рдмрд╣реБрдд рдЧрд╣рди рд╡рд┐рдЪрд╛рд░ рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ рдФрд░ рдРрд╕рд╛ рд╣реЛрдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИред рдореИрдВрдиреЗ @shanselman рдФрд░ DirectoryServices рдХреЗ рдорд╛рд▓рд┐рдХреЛрдВ рдХреЛ рд╕рдордпрд╕реАрдорд╛ рдкрд░ рдЯрд┐рдкреНрдкрдгреА рдХрд░рдиреЗ рджрд┐рдпрд╛ред

@karelz : рдЕрдкрдбреЗрдЯ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж! рдореИрдВ рдЬреНрдпрд╛рджрд╛рддрд░ рд╕реНрдерд┐рддрд┐ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЙрддреНрд╕реБрдХ рдерд╛ .. рдореИрдВ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдХрдо рд╕реЗ рдХрдо рдкрд░реАрдХреНрд╖рдг рдореЗрдВ рдорджрдж рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ, рдЬрдм рдпрд╣ рдЙрдкрд▓рдмреНрдз рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред

@pasikarkkainen рдЕрдЧрд░ рдЖрдк рдХреБрдЫ рдкрд░реАрдХреНрд╖рдг рдорд╛рдорд▓реЛрдВ рдХреЛ рд▓рд┐рдЦрдиреЗ рдореЗрдВ рдорджрдж рдХрд░рдиреЗ рдХреЗ рдЗрдЪреНрдЫреБрдХ рд╣реИрдВ, рддреЛ рдЗрд╕рдХреА рдмрд╣реБрдд рд╕рд░рд╛рд╣рдирд╛ рдХреА рдЬрд╛рдПрдЧреАред
рдпрджрд┐ рдЖрдк "рдмрд╕" рдЕрдкрдиреЗ рдРрдк/рдХреЛрдб рдкрд░ рдкреИрдХреЗрдЬ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдпрд╣ рдЖрдЬ рд╣реА рдХрд░рдиреЗ рдпреЛрдЧреНрдп рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рд╣рдореЗрдВ рдмрд╕ рдкреИрдХреЗрдЬ рдХреЛ myget рдкрд░ рдкреВрд░реНрд╡рд╛рд╡рд▓реЛрдХрди рдХреЗ рд░реВрдк рдореЗрдВ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ (рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдкреНрд░рдХрд╛рд╢рди рдЖрдЬ рдЕрдХреНрд╖рдо рд╣реИ)ред

@karelz рдореБрдЭреЗ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдореИрдХ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдореЗрдВ рдорджрдж рдХрд░рдиреЗ рдореЗрдВ рдХреЛрдИ рдлрд░реНрдХ рдирд╣реАрдВ рдкрдбрд╝рддрд╛ред рдореБрдЭреЗ рдереЛрдбрд╝рд╛ рдЬреНрдЮрд╛рди рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдореИрдВ рдХрд┐рддрдирд╛ рдЕрдЪреНрдЫрд╛ рдпреЛрдЧрджрд╛рди рджреЗ рд╕рдХрддрд╛ рд╣реВрдВред рдореИрдВрдиреЗ рдЗрд╕рдХреЗ рдЪрд╛рд░реЛрдВ рдУрд░ рд╢реЛрдз рдХрд┐рдпрд╛ рд╣реИ рдФрд░ рдПрдХ рдЙрдкрдиреНрдпрд╛рд╕ рдкреБрд╕реНрддрдХрд╛рд▓рдп рд╣реИ рдЬрд┐рд╕реЗ рд▓реЛрдЧ рд╕реБрдЭрд╛рд╡ рджреЗрддреЗ рд╣реИрдВред рдЙрд╕ рдЙрдкрдиреНрдпрд╛рд╕ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреЗ рдЖрд╕рдкрд╛рд╕ рдХрд┐рд╕реА рдФрд░ рдХрд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдпрд╣рд╛рдВ рдорд┐рд▓рд╛: https://github.com/dsbenghe/Novell.Directory.Ldap.NETStandard

@carlowahlstedt рдкреИрдХреЗрдЬ рдХреЗ рд▓реЗрдЦрдХ рдиреЗ рдпрд╣рд╛рдВ рдкрд╣рд▓реЗ рд╣реА рдЗрд╕рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рд╣реИред
https://github.com/dotnet/corefx/issues/2089#issuecomment -228043297

рддреЛ рдХреНрдпрд╛ рдпрд╣ рдХреБрдЫ рдРрд╕рд╛ рд╣реИ рдЬреЛ рдХреЛрд░ 2.0 рдореЗрдВ рд╣реЛрдЧрд╛? рдореИрдВ рдЗрд╕рдХреА рд╕реНрдерд┐рддрд┐ рдХреЛ рд▓реЗрдХрд░ рдереЛрдбрд╝рд╛ рднреНрд░рдорд┐рдд рд╣реВрдВред

рдирд╣реАрдВ, рдпрд╣ .NET Core 2.0 рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рдирд╣реАрдВ рд╣реЛрдЧрд╛, рд╣рд╛рд▓рд╛рдВрдХрд┐, рдмрд┐рд▓реНрдб рдХреЙрдиреНрдлреНрд░реЗрдВрд╕ рдореЗрдВ рд╣рдордиреЗ рд╕рдорд░ рдХреЗ рджреМрд░рд╛рди рдкреИрдХреЗрдЬ рдХреА рдЙрдкрд▓рдмреНрдзрддрд╛ рдХрд╛ рд╡рд╛рджрд╛ рдХрд┐рдпрд╛ рдерд╛ред (Windows) рдкреИрдХреЗрдЬ .NET Core 2.0 рдХреЗ рд╢реАрд░реНрд╖ рдкрд░, .NET Core 2.0 рдЬрд╣рд╛рдЬреЛрдВ рдХреЗ рд╕рдордп рдХреЗ рдЖрд╕рдкрд╛рд╕ рдЙрдкрд▓рдмреНрдз рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред
рд╣рдо рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдорд╛рд╕реНрдЯрд░ рд╢рд╛рдЦрд╛ (#18090) рдореЗрдВ рдкреВрд░реНрд╡рд╛рд╡рд▓реЛрдХрди рдХреЗ рд░реВрдк рдореЗрдВ рдкреИрдХреЗрдЬ рдЙрдкрд▓рдмреНрдз рдХрд░рд╛рдиреЗ рдФрд░ рд╕рдорд╛рдирд╛рдВрддрд░ рдореЗрдВ рдкрд░реАрдХреНрд╖рдг рд╕рдВрдкрддреНрддрд┐рдпреЛрдВ рдкрд░ рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВ (#20669)ред

рдЬрдм рд╣рдо рд╕рд╛рдЭрд╛ рд░рдирдЯрд╛рдЗрдо рдпрд╛ рдЧреИрд░-рд╡рд┐рдВрдбреЛрдЬ рд░рдирдЯрд╛рдЗрдо рдХреЛ рд▓рдХреНрд╖рд┐рдд рдХрд░рддреЗ рд╣реИрдВ рддреЛ рдХреНрдпрд╛ рд╣рдореЗрдВ рд╕рдВрдХрд▓рди рддреНрд░реБрдЯрд┐рдпрд╛рдВ рдорд┐рд▓реЗрдВрдЧреА? рдпрд╛ рд╣рдо PlatformNotSupported -рдЯреНрд░реИрдк рдХреЗ рд╕рд╛рде рд╕рдорд╛рдкреНрдд рд╣реЛ рдЬрд╛рдПрдВрдЧреЗ?

рдпрд╣ рдмрд┐рдирд╛ рдХрд┐рд╕реА рдЧреИрд░-рд╡рд┐рдВрдбреЛрдЬ рд╕рдВрдкрддреНрддрд┐ рдХреЗ рд╕реНрдЯреИрдВрдбрдЕрд▓реЛрди рдкреИрдХреЗрдЬ рд╣реЛрдЧрд╛ред рд╕рдВрдХрд▓рди рдЯреВрдЯрдирд╛ рдЪрд╛рд╣рд┐рдПред @ericstj рдкреБрд╖реНрдЯрд┐ рдХрд░ рд╕рдХрддрд╛ рд╣реИред

рдЖрдкрдХреЛ рд╕рдВрдХрд▓рди рддреНрд░реБрдЯрд┐рдпрд╛рдВ рдирд╣реАрдВ рдорд┐рд▓реЗрдВрдЧреА, рд╡реЗ рд░рдирдЯрд╛рдЗрдо "рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдиреЙрдЯ рд╕рдкреЛрд░реНрдЯреЗрдб" рдЕрдкрд╡рд╛рдж рд╣реЛрдВрдЧреЗред

рд╣рд╛рдБ, рдпрд╣ рдкреБрд░рд╛рдирд╛ рд╣реИ - рдХреНрдпрд╛ рд╣рдо рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рд▓реЛрдЧреЛрдВ рдХреЛ .NET рдорд╛рдирдХ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рд╕реЗ рдмреНрд▓реЙрдХ рдХрд░рддреЗ рд╣реИрдВ, рдпрд╛ рдХреНрдпрд╛ рд╣рдо рд╕рдВрдХрд▓рди-рд╕рдордп рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ PlatformNotSupported рдЕрдкрд╡рд╛рджреЛрдВ рдореЗрдВ рдмрджрд▓ рджреЗрддреЗ рд╣реИрдВ? ... рд╕реМрднрд╛рдЧреНрдп рд╕реЗ рдПрдХ рдмреАрдЪ рдХрд╛ рд░рд╛рд╕реНрддрд╛ рд╣реИ: ApiCompat рдЯреВрд▓рд┐рдВрдЧ рдЖрдкрдХреЛ рд╕рдордп рд╕реЗ рдкрд╣рд▓реЗ рдмрддрд╛рдПрдЧреА рдХрд┐ рдЖрдк рдХрд┐рд╕реА рдРрд╕реА рдЪреАрдЬрд╝ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдЬреЛ рд╣рд░ рдЬрдЧрд╣ рдирд╣реАрдВ рд╣реИред

рдЬрдм рдореИрдВ рдиреЗрдЯрд╕реНрдЯреИрдВрдбрд░реНрдб 1.6 рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ System.DirectoryServices рдкреИрдХреЗрдЬ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддрд╛ рд╣реВрдВ рддреЛ рдореБрдЭреЗ рдирд┐рдореНрди рддреНрд░реБрдЯрд┐ рдорд┐рд▓ рд░рд╣реА рд╣реИ:

рдЗрдВрд╕реНрдЯрд╛рд▓-рдкреИрдХреЗрдЬ: рдкреИрдХреЗрдЬ рд╕рд┐рд╕реНрдЯрдоред рдбрд╛рдпрд░реЗрдХреНрдЯрд░реА рд╕рд░реНрд╡рд┐рд╕реЗрдЬ 4.0.0 рдиреЗрдЯрд╕реНрдЯреИрдВрдбрд░реНрдб 1.6 (.NETStandard,Version=v1.6) рдХреЗ рд╕рд╛рде рд╕рдВрдЧрдд рдирд╣реАрдВ рд╣реИред рдкреИрдХреЗрдЬ System.DirectoryServices 4.0.0 рд╕рдкреЛрд░реНрдЯ рдХрд░рддрд╛ рд╣реИ: рдиреЗрдЯ (.NETFramework,Version=v0.0)

рдХреНрдпрд╛ рдЗрд╕рдХреЗ рд▓рд┐рдП рдХреЛрдИ рдХрд╛рдордХрд╛рдЬ рдпрд╛ рд╕рдорд╛рдзрд╛рди рд╣реИ?
рд╕рд╛рджрд░,
рд╡рд░реВрдг

image

@ vrn11 рдпрд╣ рдкреИрдХреЗрдЬ рдХрд┐рд╕реА рдЕрдиреНрдп рд╡рд┐рдХреНрд░реЗрддрд╛ рдХрд╛ рд╣реИ рдФрд░ рдХреЗрд╡рд▓ рдкреВрд░реНрдг рдиреЗрдЯ рдврд╛рдВрдЪреЗ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ

image

рд╡реИрд╕реЗ рднреА рдкреВрдЫрдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛ рдХрд┐ рдХреНрдпрд╛ рдЗрд╕ рдкрд░ рдХреЛрдИ рдЕрдкрдбреЗрдЯ рд╣реИред рд╢рд╛рдпрдж рдПрдХ рдкреВрд░реНрд╡рд╛рд╡рд▓реЛрдХрди рдкреИрдХреЗрдЬ рдЬрд┐рд╕реЗ рд╣рдо myget рд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ? рдЗрд╕рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░рдирд╛ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛

рдЬреИрд╕рд╛ рдХрд┐ @MarcusKohnert рдиреЗ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рд╣реИ рдХрд┐ рдЖрдк рдЙрдиреНрд╣реЗрдВ https://dotnet.myget.org/F/dotnet-core/api/v3/index.json рд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред System.DirectoryServices, System.DirectoryServices.AccountManagement, рдФрд░ System.DirectoryServices.Protocols рд╣реИред

рд╡рд┐рд╕реНрдордпрдХрд╛рд░реА! рд▓рд┐рдВрдХ рдХреЗ рд▓рд┐рдП @MarcusKohnert рдФрд░ @ericstj рдХреЛ рдзрдиреНрдпрд╡рд╛рдж!

рдореИрдВ myget рд╕реЗ рд╕рдВрдХреБрд▓ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣рд╛ рд╣реВрдБ:

<PackageReference Include="System.DirectoryServices" Version="4.5.0-preview2-25701-02" /> <PackageReference Include="System.DirectoryServices.AccountManagement" Version="4.5.0-preview2-25701-02" />
MacOS 10.12.6 рдкрд░ рдЪрд▓рддреЗ рд╕рдордп рдФрд░ рджреМрдбрд╝рддреЗ рд╕рдордп:

using (var context = new PrincipalContext(ContextType.Domain, "DOMAIN"))

рдореИрдВ рд▓рд╛ рд░рд╣рд╛ рд╣реВрдБ:

System.PlatformNotSupportedException: Operation is not supported on this platform. at System.DirectoryServices.AccountManagement.PrincipalContext..ctor(ContextType contextType, String name)

рдХреНрдпрд╛ рдкреНрд░рд┐рдВрд╕рд┐рдкрд▓ рдХреЙрдиреНрдЯреЗрдХреНрд╕реНрдЯ рдХреЛ рдореИрдХ рдкрд░ рдХрд╛рдо рдХрд░рдиреЗ рдХреА рдЙрдореНрдореАрдж рд╣реИ?

@ рдмреНрд░реВрдиреЛ-рдЧрд╛рд░реНрд╕рд┐рдпрд╛ рд╡рд┐рдВрдбреЛрдЬрд╝ рдХреЛ рдЫреЛрдбрд╝рдХрд░ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рд╕реЗрд╡рд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдЕрднреА рдХреЛрд░рдПрдлрдПрдХреНрд╕ рдореЗрдВ рдХреЛрдИ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдирд╣реАрдВ рд╣реИред @karelz рдХреЛ рдпреЛрдЬрдирд╛рдУрдВ/рдЖрдХрд╛рдВрдХреНрд╖рд╛рдУрдВ рд╕реЗ рдмрд╛рдд рдХрд░рдиреА рд╣реЛрдЧреА рдпрджрд┐ рдХреЛрдИ рд╣реЛред

рдХреЗрд╡рд▓ System.DirectoryServices.Protocol рд╕рдВрднрд╛рд╡рд┐рдд рд░реВрдк рд╕реЗ рдПрдХреНрд╕-рдкреНрд▓реЗрдЯ рдХрд░рдиреЗ рдпреЛрдЧреНрдп рд╣реИ (рдЕрднреА рддрдХ рд▓рд╛рдЧреВ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ) - рдКрдкрд░ рдФрд░ рд╢реАрд░реНрд╖ рдкреЛрд╕реНрдЯ рдореЗрдВ рдореЗрд░реЗ рдХреБрдЫ рдЙрддреНрддрд░реЛрдВ рдореЗрдВ рд╡рд┐рд╡рд░рдг рджреЗрдЦреЗрдВред

System.DirectoryServices.Protocols рдХрд╛рдо рдХрд░ рд░рд╣реЗ рдХреНрд░реЙрд╕ рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо (рд▓рд┐рдирдХреНрд╕/рдореИрдХ рдкрд░ рднреА) рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИред рд╡рд┐рдВрдбреЛрдЬрд╝ рдкрд░ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ?

рдЕрдЧрд░ рдореИрдВрдиреЗ рдЗрд╕реЗ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рд╕рдордЭрд╛ рд╣реИ, рддреЛ ADSI COM рдЗрдВрдЯрд░рдлреЗрд╕ рдкрд░ рдмрд╣реБрдд рд╕рд╛рд░реА рдирд┐рд░реНрднрд░рддрд╛ рдХреЗ рдХрд╛рд░рдг System.DirectoryServices рдХреЛ xplat рдмрдирд╛рдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реЛрдЧрд╛, рдЬреЛ рдХрд┐ рд╡рд┐рдВрдбреЛрдЬрд╝ рдкрд░ рдЙрдкрд▓рдмреНрдз рд╣реИред

System.DirectoryServices.Protocols рдЕрднреА рднреА рд░рди xplat рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдВрднрд╡ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред

рдЙрд╕реА рдХреЛрдб рдХреЛ рдЪрд▓рд╛рдирд╛ рдЬрд┐рд╕рдХрд╛ рдореИрдВрдиреЗ рдкрд╣рд▓реЗ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдерд╛:
```рд╕реА#
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ (var рд╕рдВрджрд░реНрдн = рдирдпрд╛ рдкреНрд░рд┐рдВрд╕рд┐рдкрд▓ рдХреЙрдиреНрдЯреЗрдХреНрд╕реНрдЯ (рд╕рдВрджрд░реНрдн рдЯрд╛рдЗрдкред рдбреЛрдореЗрди, рдбреЛрдореЗрди, $ "OU = someou, DC = somedomain, DC = bla"))
````

Win7 x64 рдкрд░ .NET Core 2.0 рдпреАрд▓реНрдб рдХреЗ рд╕рд╛рде:

NullReferenceException: Object reference not set to an instance of an object.
System.DirectoryServices.Protocols.LdapConnection.ConstructEntry(IntPtr entryMessage)
System.DirectoryServices.Protocols.LdapConnection.ConstructResponse(int messageId, LdapOperation operation, ResultAll resultType, TimeSpan requestTimeOut, bool exceptionOnTimeOut)
System.DirectoryServices.Protocols.LdapConnection.SendRequest(DirectoryRequest request, TimeSpan requestTimeout)
System.DirectoryServices.AccountManagement.PrincipalContext.ReadServerConfig(string serverName, ref ServerProperties properties)
System.DirectoryServices.AccountManagement.PrincipalContext.DoServerVerifyAndPropRetrieval()
System.DirectoryServices.AccountManagement.PrincipalContext..ctor(ContextType contextType, string name, string container, ContextOptions options, string userName, string password)
System.DirectoryServices.AccountManagement.PrincipalContext..ctor(ContextType contextType, string name, string container)

рдкреИрдХреЗрдЬ рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛:

<PackageReference Include="System.DirectoryServices" Version="4.5.0-preview2-25701-02" />
<PackageReference Include="System.DirectoryServices.AccountManagement" Version="4.5.0-preview2-25701-02" />

[рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ] рдлрд┐рдХреНрд╕реНрдб рдХреЙрд▓рд╕реНрдЯреИрдХ рдФрд░ рдПрдХреНрд╕рдПрдордПрд▓/рд╕реА # рдХреЛрдб рд╕рд┐рдВрдЯреИрдХреНрд╕ рд╣рд╛рдЗрд▓рд╛рдЗрдЯрд┐рдВрдЧ @ karelz . рджреНрд╡рд╛рд░рд╛

@ рдмреНрд░реВрдиреЛ-рдЧрд╛рд░реНрд╕рд┐рдпрд╛ рдХреГрдкрдпрд╛ рдЕрд▓рдЧ рд╕реЗ рдорд╛рдорд▓рд╛ рджрд░реНрдЬ рдХрд░реЗрдВред рдпрд╣ рд╕рдордЧреНрд░ рдмрдВрджрд░рдЧрд╛рд╣ рдкреНрд░рдпрд╛рд╕ рдХреЛ рдЯреНрд░реИрдХ рдХрд░ рд░рд╣рд╛ рд╣реИ, рд╡рд┐рд╢реЗрд╖ рдмрдЧ/рдорддрднреЗрдж рдирд╣реАрдВред рдзрдиреНрдпрд╡рд╛рдж!

@ рдмреНрд░реВрдиреЛ-рдЧрд╛рд░реНрд╕рд┐рдпрд╛ рдЬрд┐рд╕реЗ https://github.com/dotnet/corefx/issues/23605 рджреНрд╡рд╛рд░рд╛ рдЯреНрд░реИрдХ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ

рдЕрдЧрд▓рд╛ рдХрджрдо рдбреЗрд╕реНрдХрдЯреЙрдк рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдбрд┐рдмрдЧ рдХрд░рдирд╛ рдФрд░ рдпрд╣ рджреЗрдЦрдирд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд╣рд╛рдВ рдмрджрд▓рддрд╛ рд╣реИред рдореИрдВ рдЗрд╕реЗ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рджреЗрд╡ рдХреЛ рдореБрдХреНрдд рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реВрдВрдЧрд╛ред

рд╡рд┐рдВрдбреЛрдЬрд╝ рд╕рд░реНрд╡рд░ рдкрд░ рдПрдХ рд╣реА рд╕рдорд╕реНрдпрд╛ :( (рд╕рдВрд╕реНрдХрд░рдг = "4.5.0-рдкреВрд░реНрд╡рд╛рд╡рд▓реЛрдХрди 2-25701-02")

NullReferenceException: Object reference not set to an instance of an object.
System.DirectoryServices.Protocols.LdapConnection.ConstructEntry(IntPtr entryMessage)
System.DirectoryServices.Protocols.LdapConnection.ConstructResponse(int messageId, LdapOperation operation, ResultAll resultType, TimeSpan requestTimeOut, bool exceptionOnTimeOut)
System.DirectoryServices.Protocols.LdapConnection.SendRequest(DirectoryRequest request, TimeSpan requestTimeout)
System.DirectoryServices.AccountManagement.PrincipalContext.ReadServerConfig(string serverName, ref ServerProperties properties)
System.DirectoryServices.AccountManagement.PrincipalContext.DoServerVerifyAndPropRetrieval()
System.DirectoryServices.AccountManagement.PrincipalContext..ctor(ContextType contextType, string name, string container, ContextOptions options, string userName, string password)
System.DirectoryServices.AccountManagement.PrincipalContext..ctor(ContextType contextType, string name, string container)

рдЖрдкрдХреЛ рдХреНрдпрд╛ рд▓рдЧрддрд╛ рд╣реИ, рдпрд╣ рдХрдм рдХрд╛рдо рдХрд░реЗрдЧрд╛?

рдкреИрдХреЗрдЬ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддреЗ рд╕рдордп рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рд╣реИ

Install-Package : Unable to find package System.IO.FileSystem.AccessControl with version (>= 4.5.0-preview2-25707-02)
  - Found 15 version(s) in nuget.org [ Nearest version: 4.4.0 ]
  - Found 0 version(s) in Microsoft Visual Studio Offline Packages
  - Found 0 version(s) in Package source
At line:1 char:2
+  Install-Package System.DirectoryServices -Version 4.4.0-preview2-257 ...
+  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (:) [Install-Package], Exception
    + FullyQualifiedErrorId : NuGetCmdletUnhandledException,NuGet.PackageManagement.PowerShellCmdlets.InstallPackageCommand

===========================================
рдЕрдЧрд░ рдХрд┐рд╕реА рдХреЛ рднреА рдореЗрд░реЗ рдЬреИрд╕реА рд╣реА рд╕рдорд╕реНрдпрд╛ рд╣реИ рддреЛ рдЗрд╕рдХреЗ рдмрдЬрд╛рдп .NET CLI рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ

рдбреЙрдЯрдиреЗрдЯ рдкреИрдХреЗрдЬ рдЬреЛрдбрд╝реЗрдВ System.DirectoryServices --version 4.5.0-preview2-25707-02 --source https://dotnet.myget.org/F/dotnet-core/api/v3/index.json

@papamamadoii рдРрд╕рд╛ рдЗрд╕рд▓рд┐рдП рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдЖрдк рдПрдХ рд╕реНрд░реЛрдд рдХреЗ рд░реВрдк рдореЗрдВ https://dotnet.myget.org/F/dotnet-core/api/v3/index.json рдЦреЛ рд░рд╣реЗ рд╣реИрдВ рдФрд░ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдЗрдВрд╕реНрдЯрд╛рд▓-рдкреИрдХреЗрдЬ рдиреЗ рдирд┐рд░реНрднрд░рддрд╛ рдЦреЛрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЗ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдлрд╝реАрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИред рдЖрдк рд╡рд┐рд╢рд┐рд╖реНрдЯ рд░реЗрдкреНрд░реЛ рдЪрд░рдгреЛрдВ рдХреЗ рд╕рд╛рде http://github.com/nuget/home рдкрд░ рдмрдЧ рджрд░реНрдЬ рдХрд░рдирд╛ рдЪрд╛рд╣ рд╕рдХрддреЗ рд╣реИрдВред

@karelz рдЕрдЧрд░ рдореИрдВ рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХреЛ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рд╕рдордЭ рд░рд╣рд╛ рд╣реВрдВ рддреЛ рдпрд╣ рд▓рд┐рдирдХреНрд╕ рдЖрдзрд╛рд░рд┐рдд рддреИрдирд╛рддреА рдкрд░ рдХрд╛рдо рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реИ?

@euclid47 System.DirectoryServices.* рд╡рд░реНрддрдорд╛рди рдореЗрдВ Linux рдкрд░ рд╕рдорд░реНрдерд┐рдд рдирд╣реАрдВ рд╣реИред рдЬреИрд╕рд╛ рдХрд┐ рдКрдкрд░ рдЪрд░реНрдЪрд╛ рдХреА рдЧрдИ рд╣реИ, рдкрд░реНрдпрд╛рдкреНрдд рд╕рд╛рдореБрджрд╛рдпрд┐рдХ рд╣рд┐рдд/рднрд╛рдЧреАрджрд╛рд░реА рдХреЛ рджреЗрдЦрддреЗ рд╣реБрдП рдЗрд╕рдХреЗ рдХреБрдЫ рд╣рд┐рд╕реНрд╕реЛрдВ рдХреЛ рд╕рдВрднрд╛рд╡рд┐рдд рд░реВрдк рд╕реЗ рдкреЛрд░реНрдЯ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

@danmosemsft рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдХрд┐ рдЖрдк рдЗрд╕ рдкреВрд░реЗ рдзрд╛рдЧреЗ рдХреЛ рдЕрдХреНрдЯреВрдмрд░ 2015 рд╕реЗ рдкрд░реНрдпрд╛рдкреНрдд рд╕рд╛рдореБрджрд╛рдпрд┐рдХ рд╣рд┐рдд рдХреЗ рд░реВрдк рдореЗрдВ рдХреИрд╕реЗ рдЦреЛрд▓ рд╕рдХрддреЗ рд╣реИрдВред рдЕрдЧрд░ рдореЗрд░реЗ рдкрд╛рд╕ рдПрд▓рдбреАрдПрдкреА рд╕рдВрдЪрд╛рд░ рдкрд░рдд рдХреЗ рд░реВрдк рдореЗрдВ рдЬрдЯрд┐рд▓ рдХреБрдЫ рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рдХреМрд╢рд▓ рд╣реИ, рддреЛ рдореИрдВ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЗрд╕ рдкрд░ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реЛрддрд╛, рдХреНрдпреЛрдВрдХрд┐ рдПрдбреА рдПрдХ рдЙрджреНрдпрдо рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ рдореБрдЦреНрдп рдкреНрд░рдорд╛рдгреАрдХрд░рдг рддрдВрддреНрд░ рдореЗрдВ рд╕реЗ рдПрдХ рдерд╛ред рдореИрдВ рдпрд╣ рдмрддрд╛рдКрдВрдЧрд╛ рдХрд┐ рдЕрдзрд┐рдХрд╛рдВрд╢ рдмрдбрд╝реЗ рдЙрджреНрдпрдореЛрдВ рдХреЗ рд▓рд┐рдП, рд▓рд┐рдирдХреНрд╕ рдкрд░ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдХреА рдмрд╛рддрдЪреАрдд рдХрд░рдиреЗ рдореЗрдВ рдЕрд╕рдорд░реНрдерддрд╛ рд╕рдЪрдореБрдЪ рдХреЛрд░ рдХреЗ рдЙрджреНрджреЗрд╢реНрдп рдХреЛ рд╣рд░рд╛ рджреЗрддреА рд╣реИ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдбреЙрдЯрдиреЗрдЯ рдХреЗ рдкреНрд░реА-рдХреЛрд░ рдмрд┐рд▓реНрдб рд╕реЗ рдЪрд┐рдкрдХреЗ рд░рд╣рдиреЗ рдХрд╛ рдХрд╛рд░рдг рдмрдиреЗрдЧреА, рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдЖрдкрдХреА рдмрд╣реБрдореВрд▓реНрдп рд╕рд╛рдореБрджрд╛рдпрд┐рдХ рдмрд╛рддрдЪреАрдд рдХреЛ рд╕реАрдорд┐рдд рдХрд░ рджреЗрдЧреАред

@danmosemsft рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдпрджрд┐ рдЖрдк рд╕рдЪрдореБрдЪ рдЗрд╕ рдкрд░ рдХрд╛рдо рдХрд░рдиреЗ рдХреА рдпреЛрдЬрдирд╛ рдирд╣реАрдВ рдмрдирд╛ рд░рд╣реЗ рд╣реИрдВ, рддреЛ рд╕рдореБрджрд╛рдп рдХреЛ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдмрддрд╛рдПрдВ рддрд╛рдХрд┐ рдЕрдиреНрдп рдбреЗрд╡рд▓рдкрд░реНрд╕ рдЯреБрдХрдбрд╝реЗ рдЙрдард╛ рд╕рдХреЗрдВред

@shairozan рдЕрдм рддрдХ рд╣рдордиреЗ 54 рдореЗрдВ рд╕реЗ 7 рд╡реЛрдЯ рдиреЛрдЯ рдХрд┐рдП рд╣реИрдВ рдЬреЛ Linux рдкрд░ DirectoryServices рдХреЛ рд╡рд┐рдВрдбреЛрдЬрд╝ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЙрдЪреНрдЪ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рдорд╛рдирддреЗ рд╣реИрдВ - рджреЗрдЦреЗрдВ https://github.com/dotnet/corefx/issues/2089#issuecomment -261093217
рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЛ .NET рдХреЛрд░ рд╕реЗ рдХреЗрд╡рд▓ рдПрдХреНрд╕-рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЕрдиреНрдп рд▓рд╛рдн рднреА рдорд┐рд▓рддреЗ рд╣реИрдВ (рд╣рд╛рд▓рд╛рдБрдХрд┐ рдореИрдВ рдорд╛рдирддрд╛ рд╣реВрдБ рдХрд┐ рдПрдХреНрд╕-рдкреНрд▓реЗрдЯ рд╢реАрд░реНрд╖ рдХрд╛рд░рдгреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рд╣реИ)ред

рдореИрдВ рдЕрдиреБрд╢рдВрд╕рд╛ рдХрд░рддрд╛ рд╣реВрдВ рдХрд┐ рдкрд╣рд▓реЗ рдХреЗрд╡рд▓-рд╡рд┐рдВрдбреЛрдЬ рдкреИрдХреЗрдЬ рдХреЗ рд░рд┐рд▓реАрдЬ рдХреЛ рд╕рдорд╛рдкреНрдд рдХрд░реЗрдВ, рдлрд┐рд░ рд╣рдо рд▓рд┐рдирдХреНрд╕ рдкреЛрд░реНрдЯ рдХреЗ рд▓рд┐рдП рд░реБрдЪрд┐ рдХреЛ рдФрд░ рдЕрдзрд┐рдХ рд╕рдЯреАрдХ рд░реВрдк рд╕реЗ рдЯреНрд░реИрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдирдпрд╛ рдореБрджреНрджрд╛ рдЦреЛрд▓ рд╕рдХрддреЗ рд╣реИрдВред

рд╣рдордиреЗ рд╕рдореБрджрд╛рдп рдХреЛ рдкрд╣рд▓реЗ рд╣реА рдмрддрд╛ рджрд┐рдпрд╛ рд╣реИ рдХрд┐ рд╣рдо рдорджрдж рдХреА рддрд▓рд╛рд╢ рдореЗрдВ рд╣реИрдВ рдФрд░ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдЕрдк-рдлреЙрд░-рдЧреНрд░реИрдмреНрд╕ рдХреЗ рд░реВрдк рдореЗрдВ рдЪрд┐рд╣реНрдирд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ - https://github.com/dotnet/corefx/issues/2089#issuecomment -261681168 рджреЗрдЦреЗрдВред рдФрд░ @hughbe рдиреЗ DirectoryServices рдХреЗ рдкрд░реАрдХреНрд╖рдг рдХреЗ рдкрд╣рд▓реЗ рджреМрд░ рдореЗрдВ рдорджрдж рдХреА - рдпрд╣рд╛рдВ рдЗрддрд┐рд╣рд╛рд╕ рджреЗрдЦреЗрдВ, рдпрд╣рд╛рдВ рдФрд░ рдпрд╣рд╛рдВ ред

@karelz рдЗрди рдШрдЯрдХреЛрдВ рдХреЗ рд▓рд┐рдП рдорддрджрд╛рди рдХрд╣рд╛рдБ рдкреНрд░рдмрдВрдзрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ? рдореИрдВ рдЧрд╛рд░рдВрдЯреА рджреЗ рд╕рдХрддрд╛ рд╣реВрдВ рдХрд┐ SELF / POSSCON рдХреЗ рдмрд╛рдж рдЖрдкрдХреЛ рдмреНрдпрд╛рдЬ рдореЗрдВ рдХрд╛рдлреА рднрд╛рд░реА рд╡реГрджреНрдзрд┐ рджрд┐рдЦрд╛рдИ рджреЗрдЧреАред

@karelz рдЗрд╕ рд╕реБрд╡рд┐рдзрд╛ рдХреЗ рд▓рд┐рдП рдорддрджрд╛рди рдХрд╣рд╛рдБ рд╣реИ? рдореИрдВ рдЬрд░реВрд░рдд рд╕реЗ @shairozan рд╕реЗ рдмрд┐рд▓реНрдХреБрд▓ рд╕рд╣рдордд рд╣реВрдВред рдЗрд╕ рдЕрдВрдХ рдореЗрдВ рдПрдХ рдЯрд┐рдкреНрдкрдгреА рд╣реИ рдЬреЛ рд╣рдорд╛рд░реЗ рд╡рд┐рдХрд╛рд╕ рдФрд░ рдЙрддреНрдкрд╛рджрди рдкрд░рд┐рд╡реЗрд╢ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рддреА рд╣реИред рдпрд╣ рдХрд╛рдлреА рдЪреМрдВрдХрд╛рдиреЗ рд╡рд╛рд▓рд╛ рд╣реИ рдХрд┐ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдкрд░ рдХреЛрдИ рдЖрдВрджреЛрд▓рди рдирд╣реАрдВ рд╣реБрдЖ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдиреЗрдЯ рдХреЛрд░ рдЗрдВрдЬреАрд▓рд╡рд╛рджреА рдкреНрд░рдЪрд╛рд░ рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рдпрд╣ рдордВрдЪ рдЕрдЬреНрдЮреЗрдпрд╡рд╛рджреА рд╣реИред

рдореИрдВрдиреЗ рдЗрд╕ рдореБрджреНрджреЗ рдХреЗ рдмреАрдЪ рдореЗрдВ рдЯрд┐рдкреНрдкрдгреА рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЖрд╕рд╛рди рдорддрджрд╛рди рдХреЗ рд▓рд┐рдП Linux/Mac рдкреЛрд░реНрдЯ dotnet/corefx#24843 рдХреЛ рдЯреНрд░реИрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдирдпрд╛ рдореБрджреНрджрд╛ рдмрдирд╛рдпрд╛ (https://github.com/dotnet/corefx/issues/2089#issuecomment-261093217 )

рдореИрдВрдиреЗ рдЗрд╕ рдореБрджреНрджреЗ рдХреА рд╢реАрд░реНрд╖ рдкреЛрд╕реНрдЯ рдореЗрдВ рд▓рд┐рдВрдХ рднреА рдЬреЛрдбрд╝рд╛ред

@euclid47 рдЗрд╕ рдореБрджреНрджреЗ рдореЗрдВ рдЕрдм рддрдХ рдХрд╛ рдорддрджрд╛рди рдерд╛ - рдКрдкрд░ рджрд┐рдП рдЧрдП рд▓рд┐рдВрдХ рджреЗрдЦреЗрдВред рдпрд╣реА рдХрд╛рд░рдг рд╣реИ рдХрд┐ 7 рд╡реЛрдЯ (рдореВрд▓ рдЕрдВрдХ рдЬрдорд╛рдХрд░реНрддрд╛ рдХреЗ рд▓рд┐рдП +1) рдореЗрдВ рдкрд░рд┐рдгрд╛рдо рд╣реБрдЖред

рд╣рдорд╛рд░реА рдЯреАрдо рдХреЛ Linux рдкрд░ рд╕рдорд░реНрдерди LDAP рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
рдХреНрдпреЛрдВрдХрд┐ рд╣рдорд╛рд░реЗ рдЕрдзрд┐рдХрд╛рдВрд╢ рдЧреНрд░рд╛рд╣рдХ LDAP рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред

@balkarov рдпрджрд┐ рдЖрдк рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рддреЛ рдЙрд╕ рдореБрджреНрджреЗ рдкрд░ рдЕрдкрд╡реЛрдЯ рдХрд░реЗрдВ рдЬреЛ @karelz рдиреЗ рдЕрднреА рдмрдирд╛рдпрд╛ рдерд╛ ( https://github.com/dotnet/corefx/issues/24843 )

@balkarov @shairozan @euclid47 рдпрджрд┐ рдЖрдк рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЬрд╛рдЧрд░реВрдХ рдирд╣реАрдВ рд╣реИрдВ рддреЛ Novell.Directory.Ldap.NETStandard Nuget рдкреИрдХреЗрдЬ рд╣реИ рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдЖрдк LDAP рдХреЛ рдЕрдкрдиреА рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдореЗрдВ рдПрдХреАрдХреГрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд╣рдо рдЙрдиреНрдирдд рдПрд▓рдбреАрдПрдкреА рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╣реАрдВ рд╣реИрдВ, рд╣рдо рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреЗрд╡рд▓ рдкреНрд░рдорд╛рдг-рдкрддреНрд░реЛрдВ рдХреЛ рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░рдиреЗ рдФрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд░рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдпрд╣ рдбреЙрдЯрдиреЗрдЯ рдХреЛрд░ рд░рдирдЯрд╛рдЗрдо рдбреЙрдХрд░ рдЫрд╡рд┐ рдкрд░ рдЪрд▓рдиреЗ рд╡рд╛рд▓реЗ 1.0 рдФрд░ 2.0 рджреЛрдиреЛрдВ рдкрд░ рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдареАрдХ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдпрд╣ рдПрдХ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рддрд░реАрдХрд╛ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рддрдм рддрдХ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдЬрдм рддрдХ рдХрд┐ System.DirectoryServices рдХрд╛ рдХреНрд░реЙрд╕ рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдкреЛрд░реНрдЯ рди рд╣реЛред

@OskarKlintrot рдзрдиреНрдпрд╡рд╛рджред рд▓реЗрдХрд┐рди рдпрд╣ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдбреЛрдореЗрди рдХреЗ рдмрд┐рдирд╛ рд▓реЙрдЧрд┐рди рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред
рдореИрдВ рд╕рдорд╕реНрдпрд╛ рдмрдирд╛рддрд╛ рд╣реВрдБ https://github.com/dsbenghe/Novell.Directory.Ldap.NETStandard/issues/43
рдХреНрдпрд╛ рдЖрдк рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдореЗрдВ рдореЗрд░реА рдорджрдж рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ?

рдореИрдВ рдЙрд╕ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдпрд╛ рдЙрдиреНрдирдд рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рдирд╣реАрдВ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдореИрдВ рджреЗрдЦ рд▓реВрдВрдЧрд╛, рд╡рд╣рд╛рдВ рдорд┐рд▓рддреЗ рд╣реИрдВ!

(рд╣рдо рдХрд┐рд╕реА рдбреЛрдореЗрди рд╕реЗ рд▓реЙрдЧрд┐рди рдирд╣реАрдВ рдХрд░ рд░рд╣реЗ рд╣реИрдВ)

рдпрд╣ рджреЗрдЦрддреЗ рд╣реБрдП рдХрд┐ @karelz рдиреЗ рдпреВрдирд┐рдХреНрд╕ рдХреЗ рд▓рд┐рдП рдПрдХ рдореБрджреНрджрд╛ рддреЛрдбрд╝ рджрд┐рдпрд╛, рдореИрдВрдиреЗ рдЗрд╕реЗ рд╕реНрдкрд╖реНрдЯрддрд╛ рдХреЗ рд▓рд┐рдП рдкреБрдирдГ рд╢реАрд░реНрд╖рдХ рджрд┐рдпрд╛ред

@danmosemsft рд▓реЗрдХрд┐рди рдореБрджреНрджреЗ рдХреА рдпреЛрдЬрдирд╛ рд╣реИ
рд▓рд┐рдирдХреНрд╕ / рдореИрдХ рдкреЛрд░реНрдЯред

@balkarov рдореИрдВрдиреЗ рдЕрдиреНрдп рдЯреНрд░реИрдХрд┐рдВрдЧ рдореБрджреНрджреЛрдВ рд╕реЗ рд▓рд┐рдВрдХ рдХрд░рдиреЗ рдХреА рдпреЛрдЬрдирд╛ рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд┐рдпрд╛ рд╣реИ рдФрд░ рдЙрди рдЖрдЗрдЯрдореЛрдВ рдХреЗ рд▓рд┐рдП рдЪреЗрдХ рдмреЙрдХреНрд╕ рд╣рдЯрд╛ рджрд┐рдП рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ рдЕрд▓рдЧ рд╕реЗ рдЯреНрд░реИрдХ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ (рдЯреВрдЯрд╛ рд╣реБрдЖ рдХрд╛рдо) рдпрд╛ рд╡рд┐рдВрдбреЛрдЬрд╝ рдХрд╛рдо рдХреЛ рдЕрд╡рд░реБрджреНрдз рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред

рдХреНрдпрд╛ System.DS рдкреЛрд░реНрдЯ RODC рд╕рд░реНрд╡рд░ (рдХреЗрд╡рд▓-рдкрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдбреЛрдореЗрди рдирд┐рдпрдВрддреНрд░рдХ) рдХреЗ рд╕рд╛рде рд╕рдВрдЧрдд рд╣реЛрдЧрд╛?

@PKGeorgiev рдЖрдкрдХреЛ рд╡рд╣реА System.DirectoryServices рд╕рдорд░реНрдерди рдорд┐рд▓рдирд╛ рдЪрд╛рд╣рд┐рдП рдЬреЛ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдкреВрд░реНрдг рдврд╛рдВрдЪреЗ рдореЗрдВ рд╣реИред

Windows рдХреЗ рд▓рд┐рдП DirectoryServices рдкрд░ рдХрд╛рд░реНрдп рд╕рдорд╛рдкреНрдд рд╣реЛ рдЧрдпрд╛ рд╣реИ, рдЬрд┐рд╕рд╕реЗ рд╕рдорд╕реНрдпрд╛ рд╕рдорд╛рдкреНрдд рд╣реЛ рдЧрдИ рд╣реИред
рдзреНрдпрд╛рди рджреЗрдВ:

  • рдЕрдВрддрд┐рдо рдкреИрдХреЗрдЬ рдкреНрд░рдХрд╛рд╢рди рдХреЛ dotnet/corefx#24909 . рджреНрд╡рд╛рд░рд╛ рдЯреНрд░реИрдХ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ
  • Linux/Mac рдкреЛрд░реНрдЯ рдХреЛ dotnet/corefx#24843 . рджреНрд╡рд╛рд░рд╛ рдЕрд▓рдЧ рд╕реЗ рдЯреНрд░реИрдХ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ

рдирдорд╕реНрддреЗ, рдХреНрдпрд╛ рдпрд╣ UWP рдореЗрдВ рдХрд╛рдо рдХрд░реЗрдЧрд╛?

рдирдорд╕реНрддреЗ, рдХреНрдпрд╛ рдпрд╣ UWP рдореЗрдВ рдХрд╛рдо рдХрд░реЗрдЧрд╛?

рдирд╣реАрдВ, рдпрд╣ рдХреЗрд╡рд▓ рд╡рд┐рдВрдбреЛрдЬрд╝ рдФрд░ рдкреВрд░реНрдг рдврд╛рдВрдЪреЗ рдкрд░ рдЪрд▓рдиреЗ рд╡рд╛рд▓реЗ рдиреЗрдЯ рдХреЛрд░ рдРрдкреНрд╕ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерд┐рдд рд╣реИред рдпрджрд┐ рдЖрдк рдЗрд╕реЗ UWP рдпрд╛ Linux рдкрд░ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ PlatformNotSupported рдЕрдкрд╡рд╛рдж рдорд┐рд▓реЗрдЧрд╛ред

рдореИрдВ рдЗрд╕ рдХреЛрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдПрдбрдмреНрд▓реНрдпреВрдПрд╕ рдореЗрдВ рд▓реИрдореНрдмреНрдбрд╛ рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдЬреЛ рдкреГрд╖реНрдарднреВрдорд┐ рдореЗрдВ рд▓рд┐рдирдХреНрд╕ рдкрд░ рдЪрд▓рддрд╛ рд╣реИ рдФрд░ рдореБрдЭреЗ рдпрд╣ рддреНрд░реБрдЯрд┐ рдорд┐рд▓ рд░рд╣реА рд╣реИред "System.DirectoryServices.AccountManagement рдЗрд╕ рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдкрд░ рд╕рдорд░реНрдерд┐рдд рдирд╣реАрдВ рд╣реИред"
рдореИрдВ рдХреЛрд░ 2.0 . рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдБ

 public static List<string> GetGroups(string userName, string domainString)
        {
            List<string> result = new List<string>();
            List<GroupPrincipal> gprList = new List<GroupPrincipal>();
            // establish domain context
            PrincipalContext yourDomain = new PrincipalContext(ContextType.Domain, null, domainString);

            // find your user
            UserPrincipal user = UserPrincipal.FindByIdentity(yourDomain, userName);

            // if found - grab its groups
            if (user != null)
            {
                PrincipalSearchResult<Principal> groups = user.GetAuthorizationGroups();

                // iterate over all groups
                foreach (Principal p in groups)
                {
                    // make sure to add only group principals
                    if (p is GroupPrincipal)
                    {
                        gprList.Add((GroupPrincipal)p);
                    }
                }
            }

            foreach (var gp in gprList)
            {
                result.Add(gp.Name);
            }

            return result;
        }

@sscoleman рд╣рд╛рдБ, рдпрд╣ рдЕрднреА рддрдХ Linux рдкрд░ рд╕рдорд░реНрдерд┐рдд рдирд╣реАрдВ рд╣реИред рдпрд╣ рдХреЗрд╡рд▓ рд╡рд┐рдВрдбреЛрдЬрд╝ рдкрд░ рд╕рдорд░реНрдерд┐рдд рд╣реИред

@sscoleman рдЗрд╕ рдкрд░ рдПрдХ рд╕рдорд╕реНрдпрд╛ рдмрдирд╛рдИ рдЧрдИ рд╣реИ, https://github.com/dotnet/corefx/issues/24843ред рдпрд╣ рдХрд╣рд╛ рдЧрдпрд╛ рдерд╛ рдХрд┐ рдЗрд╕рдореЗрдВ рдкрд░реНрдпрд╛рдкреНрдд рд╕рд╛рдореБрджрд╛рдпрд┐рдХ рд╣рд┐рдд рдирд╣реАрдВ рдереЗ, рдЕрдкрд╡рд╛рдж рдХреЗ рд╕рд╛рде рдпрд╣ рдкреНрд░рд╢реНрди рд╣рд░ рд╕рдордп рд╕рд╛рдордиреЗ рдЖрддрд╛ рд╣реИред рддреЛ рдЕрдм рдЖрдк рдПрдХ рдмрдХрд╡рд╛рд╕ рдЬрдЧрд╣ рдкрд░ рд╣реИрдВред рдЖрдкрдиреЗ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рд╕реЗрд╡рд╛рдУрдВ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдореЗрдВ рд╕рдордп рдмрд┐рддрд╛рдпрд╛ рдФрд░ рдлрд┐рд░ рдкрддрд╛ рдЪрд▓рд╛ рдХрд┐ рд▓рд┐рдирдХреНрд╕ рд╕рдорд░реНрдерд┐рдд рд╣реИред рдЕрдм рдЖрдк рдЦреБрдж рд╕реЗ рдкреВрдЫреЗрдВ рдХрд┐ рдЕрдЧрд░ рд╡рд┐рдВрдбреЛрдЬрд╝ рдореЗрдВ рдХреЗрд╡рд▓ рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ рд╣реИрдВ рддреЛ рдЗрд╕реЗ рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдЕрдЬреНрдЮреЗрдпрд╡рд╛рджреА рдХреНрдпреЛрдВ рдХрд╣рд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИред

рдпрджрд┐ рдЖрдк рдЕрдзрд┐рдХ рд╕реЗ рдЕрдзрд┐рдХ Microsoft рд░рдгрдиреАрддрд┐ рдХреЛ рджреЗрдЦреЗрдВ рддреЛ рдпрд╣ рдХрд╛рдлреА рд╕реНрдкрд╖реНрдЯ рд╣реИред Microsoft рдЕрдкрдиреЗ рд╕рднреА рд╡рд┐рдХрд╛рд╕ рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреЛ Azure рдореЗрдВ рдлреЗрдВрдХ рд░рд╣рд╛ рд╣реИ, рдФрд░ рдЗрд╕рдореЗрдВ рд╕рдХреНрд░рд┐рдп рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рд╢рд╛рдорд┐рд▓ рд╣реИред "2016 рдореЗрдВ рдирдпрд╛ рдХреНрдпрд╛ рд╣реИ" рджреЗрдЦреЗрдВ, рдпрд╣ рдЬреНрдпрд╛рджрд╛рддрд░ AzureAD/рд╣рд╛рдЗрдмреНрд░рд┐рдб рдирд┐рд╡реЗрд╢ рд╣реИред https://docs.microsoft.com/en-us/windows-server/identity/whats-new-active-directory-domain-services.

Microsoft рдЗрд╕ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдореЗрдВ Linux рдХреЗ рд▓рд┐рдП рдирд┐рд╡реЗрд╢ рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рд╡реЗ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдХрд┐ рд╣рд░ рдХреЛрдИ рдЗрд╕рдХреЗ рдмрдЬрд╛рдп Azure AD рдореЗрдВ рдЪрд▓реЗ рдЬрд╛рдПред рдпрд╣ рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИ, рдЖрдк рдЙрд╕ рдЪреАрдЬрд╝ рдореЗрдВ рдирд┐рд╡реЗрд╢ рдХреНрдпреЛрдВ рдХрд░реЗрдВрдЧреЗ рдЬрд┐рд╕рд╕реЗ рдЖрдк рдЧреНрд░рд╛рд╣рдХреЛрдВ рдХреЛ рджреВрд░ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣реЗ рд╣реИрдВ?

рд╣рд╛рд▓рд╛рдВрдХрд┐ рдЖрдк рдЕрдкреЗрдХреНрд╖рд╛рдХреГрдд рд╕рд░рд▓ рдХреБрдЫ рдХрд░ рд░рд╣реЗ рд╣реИрдВред рдЖрдк рдЙрдкрдиреНрдпрд╛рд╕ рдПрд▓рдбреАрдПрдкреА рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд╡реЗ рдПрдбреА рдХреЗ рд╕рд╛рде рдФрд░ рд▓рд┐рдирдХреНрд╕ рдХреЗ рд▓рд┐рдП .NET рдХреЛрд░ рдкрд░ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВред рдЖрдкрдХреЛ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХреЛ рд╕реНрд╡рдпрдВ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдЕрддреНрдпрдзрд┐рдХ рдЬрдЯрд┐рд▓ рдирд╣реАрдВ рд╣реИ, рдФрд░ рд╡рд╣рд╛рдБ рдмрд╣реБрдд рд╕рд╛рд░реЗ рдирдореВрдиреЗ рд╣реИрдВред рдирдХрд╛рд░рд╛рддреНрдордХ рдкрдХреНрд╖ рдпрд╣ рд╣реИ рдХрд┐ рдЖрдкрдХреЛ рд╕реНрд╡рдпрдВ рдХреЛ рдмрд╛рдзреНрдп рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдмрдВрдзрди рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдбреАрдПрди рдФрд░ рдкрд╛рд╕рд╡рд░реНрдб рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред

System.DirectoryServices рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдХреЗрд╡рд▓ рд╡рд┐рдВрдбреЛрдЬрд╝ рдПрдкреАрдЖрдИ рд╣реИ рдФрд░ рдпрд╣ .NET рдХреЛрд░ рдХреЗ рд▓рд┐рдП рд╡рд┐рдВрдбреЛрдЬрд╝ рд╕рдВрдЧрддрддрд╛-рдкреИрдХ рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рд╣реИред рд╕рд┐рджреНрдзрд╛рдВрдд рд░реВрдк рдореЗрдВ, рд╣рдо System.DirectoryServices рдХреЗ рдХреБрдЫ рд╣рд┐рд╕реНрд╕реЛрдВ рдХреЛ Linux рдкрд░ рдХрд╛рдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рд▓реЗрдХрд┐рди рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдЕрднреА рддрдХ рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдВрд╕рд╛рдзрди рдирд╣реАрдВ рд╣реИрдВред dotnet/corefx#24843 рдЗрд╕ рдХрд╛рд░реНрдп рдЖрдЗрдЯрдо рдХреЛ рдЯреНрд░реИрдХ рдХрд░ рд░рд╣рд╛ рд╣реИред

рд╣рдо рдРрд╕реЗ рдкреИрдХреЗрдЬ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рдХреНрдпреЛрдВ рджреЗ рд░рд╣реЗ рд╣реИрдВ рдЬреЛ Linux рдкрд░ рдХрд╛рдо рдирд╣реАрдВ рдХрд░реЗрдВрдЧреЗ? рд╡рд┐рдХрд▓реНрдк рдПрдкреАрдЖрдИ рд╕рддрд╣ рдХреЛ рдлреЛрд░реНрдХ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ рд▓реЗрдХрд┐рди рдпрд╣ рд╕рднреА рдорд╛рдорд▓реЛрдВ рдХреЗ рд▓рд┐рдП рдЕрдЪреНрдЫрд╛ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ рдФрд░ рд╕рдордЧреНрд░ рдкреНрд░рдгрд╛рд▓реА рдХреЛ рдХреЛрдб рдХреЗ рдЦрд┐рд▓рд╛рдл рдХрдард┐рди рдмрдирд╛рддрд╛ рд╣реИред рдмреЗрд╢рдХ, рд╣рдорд╛рд░реА рдкрд╕рдВрдж рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЗ рдмрд┐рдирд╛ рдирд╣реАрдВ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕рд╕реЗ рдпрд╣ рдЕрдиреБрдорд╛рди рд▓рдЧрд╛рдирд╛ рдХрдард┐рди рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдХреЛрдб рдХреНрд░реЙрд╕-рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдкрд░ рдХрд╛рдо рдХрд░реЗрдЧрд╛ рдпрд╛ рдирд╣реАрдВред рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рд╕рдВрдЧрддрддрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рдХрд╛ рдкреВрд░реНрд╡рд╛рд╡рд▓реЛрдХрди рд╣реИ рдЬреЛ рдЖрдкрдХреЛ рдХреЛрдб рдХреЗ рд░реВрдк рдореЗрдВ рд▓рд╛рдЗрд╡ рдлреАрдбрдмреИрдХ рджреЗрддрд╛ рд╣реИред

рд╣рдо Windows рд╕рдВрдЧрддрддрд╛ рдкреИрдХ рдФрд░ рдХреНрд░реЙрд╕-рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рдХреЛ рдПрдХ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╣реБрдП рдХреИрд╕реЗ рджреЗрдЦрддреЗ рд╣реИрдВ, рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рд╕рдВрджрд░реНрдн рдХреЗ рд▓рд┐рдП рдпрд╣ рд╡реАрдбрд┐рдпреЛ рджреЗрдЦреЗрдВ:

https://channel9.msdn.com/Events/Connect/2017/T123

@thedevopsmachine

Microsoft рдЗрд╕ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдореЗрдВ Linux рдХреЗ рд▓рд┐рдП рдирд┐рд╡реЗрд╢ рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рд╡реЗ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдХрд┐ рд╣рд░ рдХреЛрдИ рдЗрд╕рдХреЗ рдмрдЬрд╛рдп Azure AD рдореЗрдВ рдЪрд▓реЗ рдЬрд╛рдПред

рдРрд╕рд╛ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдореИрдВ рдЗрд╕реЗ рджреЗрдЦрддрд╛ рд╣реВрдВред рдЬреИрд╕рд╛ рдХрд┐ рдЖрдкрдиреЗ рдмрддрд╛рдпрд╛, рд╣рдо Azure рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкреИрд╕рд╛ рдХрдорд╛рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред рдФрд░ Azure рдПрдХ рдХреНрд▓рд╛рдЙрдб рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рд╣реИ рдЬреЛ рд╡рд┐рднрд┐рдиреНрди рдкреНрд░рдХрд╛рд░ рдХреА рддрдХрдиреАрдХреЛрдВ рдФрд░ рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдХреА рдкреЗрд╢рдХрд╢ рдХрд░рддрд╛ рд╣реИред рдХреНрд▓рд╛рдЙрдб рдореЗрдВ рд▓рд┐рдирдХреНрд╕ рдкрд░ рдХреНрд▓рд╛рдЙрдб рдореЗрдВ рд╡рд┐рдВрдбреЛрдЬ рдХреЛ рдмрдврд╝рд╛рд╡рд╛ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рд╣рдорд╛рд░рд╛ рдХреЛрдИ рд╡реНрдпрд╛рд╡рд╕рд╛рдпрд┐рдХ рд╣рд┐рдд рдирд╣реАрдВ рд╣реИред рд▓реЗрдХрд┐рди рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ, .NET рдХреА рд╡рд┐рдВрдбреЛрдЬрд╝ рдкрд░ 15 рд╡рд░реНрд╖реЛрдВ рд╕реЗ рдордЬрдмреВрдд рдЙрдкрд╕реНрдерд┐рддрд┐ рд░рд╣реА рд╣реИред рд╕рднреА рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рдЪреАрдЬреЛрдВ рдХреЛ рдкреВрд░реА рддрд░рд╣ рдХрд╛рд░реНрдпрд╛рддреНрдордХ рдмрдирд╛рдиреЗ рдореЗрдВ рд╕рдордп рд▓рдЧрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдИрдорд╛рдирджрд╛рд░реА рд╕реЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рдорд╛рд░реЗ рдУрдкрди рд╕реЛрд░реНрд╕ рдкреНрд░рдпрд╛рд╕реЛрдВ рдХрд╛ рдЕрдиреБрд╕рд░рдг рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдЕрдзрд┐рдХрд╛рдВрд╢ рд▓реЛрдЧ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рд╣рдо рдЙрджреНрджреЗрд╢реНрдп рд╕реЗ рд▓рд┐рдирдХреНрд╕ рдХреЛ рдмрд╛рдзрд┐рдд рдирд╣реАрдВ рдХрд░ рд░рд╣реЗ рд╣реИрдВред рдмрд╕ рд╕рдордп рд▓рдЧрддрд╛ рд╣реИред

рдореИрдВ рд▓рдЧрд╛рддрд╛рд░ рдПрдкреАрдЖрдИ рдПрдХреНрд╕-рдкреНрд▓реЗрдЯ рдФрд░ рдПрдХреНрд╕-рдлреНрд░реЗрдорд╡рд░реНрдХ рд░рдЦрдиреЗ рдХреЗ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╕реЗ рд╕рд╣рдордд рд╣реВрдВ, рд▓реЗрдХрд┐рди рдЬрдм рднреА рдЖрдИрд╡ рдХреЛ рдЙрд╕ рднрдпрд╛рдирдХ рддреНрд░реБрдЯрд┐ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рдирд╛ рдкрдбрд╝рддрд╛ рд╣реИ рддреЛ рдпрд╣ рдЖрддреНрдорд╛ рдХреЛ рдирд╖реНрдЯ рдХрд░ рджреЗрддрд╛ рд╣реИ .. рдореБрдЭреЗ @sscoleman рдХреЗ рд▓рд┐рдП рд▓рдЧрддрд╛ рд╣реИ ...

рдХреНрдпрд╛ рдпрд╣ DirectoryServices рдкреИрдХреЗрдЬ CentOS 7 рдкрд░ рдХрд╛рдо рдХрд░ рд╕рдХрддрд╛ рд╣реИ?

рдХреНрдпрд╛ рдпрд╣ DirectoryServices рдкреИрдХреЗрдЬ CentOS 7 рдкрд░ рдХрд╛рдо рдХрд░ рд╕рдХрддрд╛ рд╣реИ?

рдкреИрдХреЗрдЬ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рд▓реЗрдХрд┐рди рдХрд╛рдо рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ред рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп рдЖрдкрдХреЛ рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рд╕рдорд░реНрдерд┐рдд рдЕрдкрд╡рд╛рдж рдирд╣реАрдВ рдорд┐рд▓реЗрдЧрд╛ред рд╣рдо рджреЗрдЦ рд░рд╣реЗ рд╣реИрдВ рдХрд┐ рд╣рдо рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ рд▓рд┐рдирдХреНрд╕ рдкрд░ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рд╕реЗрд╡рд╛рдУрдВ рдХрд╛ рд╕рдорд░реНрдерди рдХреИрд╕реЗ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдпрд╣ рд╣рдорд╛рд░реЗ рд░рдбрд╛рд░ рдкрд░ рд╣реИред

рдЗрд╕реЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╕рдорд░реНрдерди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ linux

рд╕реАрд╕реА @joperezr

@niemyjski рджреЗрдЦреЗрдВ рдбреЙрдЯрдиреЗрдЯ/рдХреЛрд░рдПрдлрдПрдХреНрд╕#24843

рдЗрд╕реЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╕рдорд░реНрдерди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ linux

.. рдкреНрд▓рд╕ рдПрдХ рдбреЙрдХрдЯрд░ рдХрдВрдЯреЗрдирд░ рдореЗрдВ рдЪрд▓рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛред рдЗрдореНрд╣реЛ рдпрд╣ рдЧрдзреЗ рдореЗрдВ рджрд░реНрдж рд╣реИ рдХрд┐ рдХрд┐рд╕реА рдХреЛ рдкреБрд░рд╛рдиреЗ рдиреЛрд╡реЗрд▓ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдкрд░ рд╡рд╛рдкрд╕ рдЖрдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИ рдЬрдм рдХреЛрдИ рд▓рд┐рдирдХреНрд╕ рдкрд░ .NET рдХреЛрд░ 2+ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реИред
рд╡реИрд╕реЗ рднреА рдЗрд╕ рдкрд░ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж!

рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдХреНрдпреЛрдВ рдмрдВрдж рдХрд░реЗрдВ? System.DirectoryServices.AccountManagement рдЕрднреА рднреА рд╡рд┐рдВрдбреЛрдЬрд╝ рдХреЗ рдмрд╛рд╣рд░ .NET рдХреЛрд░ рдореЗрдВ рдирд╣реАрдВ рд╣реИ:

# dotnet --list-runtimes
Microsoft.AspNetCore.All 2.2.6 [/usr/share/dotnet/shared/Microsoft.AspNetCore.All]
Microsoft.AspNetCore.App 2.2.6 [/usr/share/dotnet/shared/Microsoft.AspNetCore.App]
Microsoft.NETCore.App 2.2.6 [/usr/share/dotnet/shared/Microsoft.NETCore.App]

рдлрд┐рд░ рд╕реЗ рдЦреЛрд▓реЗрдВ 14734

@tarekgh рдЕрднреА рднреА рд░рдбрд╛рд░ рдкрд░ рд╣реИ?

рдлрд┐рд░ рд╕реЗ рдЦреЛрд▓реЗрдВ 14734

@JustinGrote рдкрд░рд┐рджреГрд╢реНрдп рдХреЗ рд▓рд┐рдП рдЖрдк рдХреМрди рд╕реА рд╕рдЯреАрдХ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ? DirectoryServices рдмрд╣реБрдд рдмрдбрд╝рд╛ рд╣реИ рдФрд░ рдореБрдЭреЗ рд╕рдВрджреЗрд╣ рд╣реИ рдХрд┐ рдкреВрд░реА рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреЗрд╡рд▓ рдПрдХ рд░рд┐рд▓реАрдЬ рдореЗрдВ рд╕рдорд░реНрдерд┐рдд рд╣реЛ рд╕рдХрддреА рд╣реИред рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЕрдиреБрд░реЛрдз рд╣реЛрдиреЗ рд╕реЗ рд╕рдВрдкреВрд░реНрдг рдбреАрдПрд╕ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдХрд╛ рдЕрдиреБрд░реЛрдз рдХрд░рдиреЗ рд╕реЗ рдмреЗрд╣рддрд░ рдорджрдж рдорд┐рд▓ рд╕рдХрддреА рд╣реИред .NET 5.0 рдореЗрдВ рд╣рдордиреЗ https://github.com/dotnet/runtime/issues/23944 рдПрдХ рдкрд░рд┐рджреГрд╢реНрдп рд╕рдХреНрд╖рдо рдХрд┐рдпрд╛ рд╣реИред

рд╕реАрд╕реА @joperezr

@tarekgh
рдореБрдЭреЗ System.DirectoryServices.Protocols рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкрддрд╛ рдирд╣реАрдВ рдерд╛, рд▓реЗрдХрд┐рди рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдЕрднреА рднреА security.principal.windows рдкрд░ рдирд┐рд░реНрднрд░рддрд╛ рд╣реИ, рдХреНрдпрд╛ рдпрд╣ рд▓рд┐рдирдХреНрд╕ рдореЗрдВ рднреА рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ (рдореВрд▓ рд▓реЗрдЦ рдЖрджрд┐ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ) рдпрд╛ рдпрд╣ рдПрдХ рд▓рд╛рдкрддрд╛ рдлреЗрдВрдХ рджреЗрдЧрд╛ рдЕрд╕реЗрдВрдмрд▓реА рддреНрд░реБрдЯрд┐?

рд▓рдХреНрд╖реНрдп рдПрдХреНрд╕рдкреНрд▓реЗрдЯ рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП ActiveDirectory Powershell рдореЙрдбреНрдпреВрд▓ рдЬреИрд╕реЗ рдХреБрдЫ рдХреЛ рдлрд┐рд░ рд╕реЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдХрд░рдирд╛ рд╣реИ, рдореИрдВ рдЙрд╕ рдЙрджреНрджреЗрд╢реНрдп рдХреЗ рд▓рд┐рдП рдЙрдкрдиреНрдпрд╛рд╕ ldap рдореЙрдбреНрдпреВрд▓ рдпрд╛ ldap4net рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░ рд░рд╣рд╛ рдерд╛ рдпрджрд┐ рдХрдо рд╕реЗ рдХрдо рдмреБрдирд┐рдпрд╛рджреА рдЗрдВрдЯрд░реИрдХреНрд╢рди рд╕рдорд░реНрдерди рдЙрдкрд▓рдмреНрдз рдирд╣реАрдВ рд╣реЛрдиреЗ рд╡рд╛рд▓рд╛ рдерд╛ред

ActiveDirectory Powershell рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдирд╛ рдПрдХ рдмрд╣реБрдд рдмрдбрд╝рд╛ рдЙрдкрдпреЛрдЧ рдорд╛рдорд▓рд╛ рд╣реИред рдореБрдЭреЗ рдЕрдкрдиреЗ рджреЛ рдЙрдкрдпреЛрдЧ рдХреЗ рдорд╛рдорд▓реЗ рд╕рд╛рдЭрд╛ рдХрд░рдиреЗ рджреЗрдВ:

1) рдореИрдВ UserPrincipal рд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдХреНрдпреЛрдВрдХрд┐ рдореБрдЭреЗ рдЙрди рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдЬреЛ рдмреЙрдХреНрд╕ рд╕реЗ рдмрд╛рд╣рд░ рд╕рдорд░реНрдерд┐рдд рдирд╣реАрдВ рд╣реИрдВред рдореИрдВрдиреЗ https://stackoverflow.com/questions/24798037/extend-userprincipal-class рдХрд╛ рдЕрдиреБрд╕рд░рдг рдХрд┐рдпрд╛ рдФрд░ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдкреБрд░рд╛рдиреЗ .NET рдврд╛рдВрдЪреЗ рдореЗрдВ рдПрдХ рддрд░рд╣ рдХрд╛ рдорд╛рдирдХ рд╣реИ, рдФрд░ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрд╕ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рд╕реЗ рд╢рд╛рдпрдж рдЕрдзрд┐рдХ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЛ рдорджрдж рдорд┐рд▓реЗрдЧреАред

2) рдореЗрд░реЗ рдкрд╛рд╕ рдирд┐рдореНрди рдЬреИрд╕рд╛ рдХреЛрдб рднреА рд╣реИ:

`

        DirectoryEntry entry = new DirectoryEntry("LDAP://CN=some base address");
        String objectClass = "some object";
        String filter = "(objectClass=" + objectClass + ")";
        using (DirectorySearcher search = new DirectorySearcher(entry, filter,
             new string[] { "some attribute" },
             SearchScope.Subtree))
        {
            using (SearchResultCollection src = search.FindAll())
                foreach (SearchResult s in src)
                {
                    /* do something with */ s.Properties["some attribute"][0]);
                }
        }

`

рдХреЛрдИ рд╕реБрд░рд╛рдЧ рдирд╣реАрдВ рдЬреЛ рдЖрдЬ рдкрд╣рд▓реЗ рд╕реЗ рд╕рдорд░реНрдерд┐рдд рд╣реИ, рдкрд┐рдЫрд▓реА рдмрд╛рд░ рдореИрдВрдиреЗ рдлрд░рд╡рд░реА рдореЗрдВ рдЬрд╛рдБрдЪ рдХреА рдереАред
рдзрдиреНрдпрд╡рд╛рдж, рдЬреЛрдЖрдЪрд┐рдореЛ

@jol64 рдХреНрдпрд╛ рдЖрдк рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ?

@jol64 рдХреНрдпрд╛ рдЖрдк рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ?

рд╢рд╛рдпрдж рдореИрдВ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдБред рдореИрдВрдиреЗ рдиреЛрд╡реЗрд▓ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдЪреАрдЬреЗрдВ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦреАрдВред рд▓реЗрдХрд┐рди рдЗрд╕рдХреЗ рд▓рд┐рдП рдореЗрд░реЗ рдореМрдЬреВрджрд╛ .NET рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреЛрдб рдореЗрдВ рдПрдХ рдкреБрдирд░реНрд▓реЗрдЦрди рдФрд░ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдЕрдирд╛рд╡рд╢реНрдпрдХ рдХреЛрдб рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдореИрдВ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рд╕рднреА рдХреЛрдб рдХреЗ рдХреЛрдб рд╡рд┐рднрд╛рдЬрди рд╕реЗ рдмрдЪрдирд╛ рдкрд╕рдВрдж рдХрд░рддрд╛ рд╣реВрдВ, рдФрд░ рдореБрдЭреЗ рдпрдХреАрди рд╣реИ рдХрд┐ рдЕрдиреНрдп рд▓реЛрдЧ рднреА рдЗрд╕ рд╡рд┐рдЪрд╛рд░ рдХреЛ рдирд╛рдкрд╕рдВрдж рдХрд░рддреЗ рд╣реИрдВред
рдореИрдВ рдпрд╣ рднреА рд╕реЛрдЪ рд░рд╣рд╛ рд╣реВрдВ рдХрд┐ рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдиреЛрд╡реЗрд▓ (рдкреБрд░рд╛рдиреЗ рд╕рдВрд╕реНрдХрд░рдг рдХреА рдореИрдВрдиреЗ рдХреЛрд╢рд┐рд╢ рдХреА) рдХреЗ рд╕рд╛рде рдореБрдЭреЗ рдХреНрд░реЗрдбреЗрдВрд╢рд┐рдпрд▓ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдирд╛ рд╣реЛрдЧрд╛, рдЬрдмрдХрд┐ рдореЗрд░реЗ рдореМрдЬреВрджрд╛ рдХреЛрдб рдХреЗ рд╕рд╛рде рдореБрдЭреЗ рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред
рдзрдиреНрдпрд╡рд╛рдж, рдЬреЛрдЖрдЪрд┐рдореЛ

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

noahfalk picture noahfalk  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

jkotas picture jkotas  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

EgorBo picture EgorBo  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

GitAntoinee picture GitAntoinee  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

sahithreddyk picture sahithreddyk  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ