Внедрение зависимостей System.Web.Security.ActiveDirectoryMembershipProvider в ASP.NET ЯДРО 1.0

#c# #asp.net #dependency-injection #asp.net-core #azman

#c# #asp.net #внедрение зависимостей #asp.net-ядро #азман

Вопрос:

Я добавляю поддержку пользователей экстранета в свое корпоративное приложение, написанное на ASP.NET ядро и использует следующую библиотеку: EnterpriseLibrary.Безопасность.AzMan 5.0. Важно отметить, что это часть переноса существующего ASP.NET приложение веб-формы 2.0, в котором была реализована эта аутентификация / Авторизация.

Конфигурация xml, используемая с приложением веб-формы, выглядит следующим образом:

 <membership defaultProvider="AspNetActiveDirectoryMembershipProvider">
  <providers>
    <add name="AspNetActiveDirectoryMembershipProvider"
      type="System.Web.Security.ActiveDirectoryMembershipProvider"
      connectionStringName="DirectoryConnection" connectionProtection="Secure"
      enableSearchMethods="true" requiresUniqueEmail="true"
      attributeMapUsername="sAMAccountName" description="Default AD connection"
      clientSearchTimeout="30" serverSearchTimeout="30" />
  </providers>
</membership>
  

С ASP.NET Ядро мне нужно добавить эту службу, используя внедрение зависимостей.
Мне нужно преобразовать приведенное выше в json, который является форматом конфигурации для ASP.NET ЯДРО.

Теперь я добавил следующее в AppSettings.json:

 "AzMan": {
    "defaultProvider": "AspNetActiveDirectoryMembershipProvide",
    "providers": {
      "name": "AspNetActiveDirectoryMembershipProvider",
      "type": "System.Web.Security.ActiveDirectoryMembershipProvider",
      "connectionStringName": "DirectoryConnection",
      "connectionProtection": "Secure",
      "enableSearchMethods": "true",
      "requiresUniqueEmail": "true",
      "attributeMapUsername": "sAMAccountName",
      "description": "Default AD connection",
      "clientSearchTimeout": "30",
      "serverSearchTimeout": "30"

}
  

Может кто-нибудь предложить шаги для добавления этой службы через класс запуска. ?

Заранее большое спасибо Бертран

Комментарии:

1. Я почти уверен, что вы не можете использовать ничего, что использует System.Web.* пространство имен в ASP.NET Ядро, поскольку все, что его использовало, было тесно связано с IIS и http.sys и если вы не измените изменить конструктор (путем наследования или изменения кода исходного класса), вы не сможете ввести настройки ни через DI

2. Я использую полный фреймворк с ASP.NET ЯДРО 1.0!