В настоящее время у нас есть приложение, которое находится в производстве в течение нескольких лет, оно было построено с использованием .Net 3.5 и используется поставщиком членства aspnet для обработки аутентификации, создания и управления ролью пользователя. Недавно мы получили запросы на внесение нескольких обновлений для приложения, в процессе которого мы перенесли его в Visual Studio 2013, .NET 4.5. Одно из требований по обновлению заключалось в использовании LDAP нашей компании для аутентификации, возможно ли это? Мы не хотели пересобирать часть аутентификации/авторизации/ролей, можем ли мы оставить часть роли и изменить только элементы аутентификации/автозагрузки? В настоящее время мы имеем следующее в нашем web.configпользовательское членство с существующим поставщиком услуг aspnet?
<roleManager enabled="true" /> <compilation debug="true" targetFramework="4.5"> <assemblies> ... </assemblies> </compilation> <!-- The <authentication> section enables configuration of the security authentication mode used by ASP.NET to identify an incoming user. --> <authentication mode="Forms"> <forms loginUrl="login.aspx" name=".ASPXFORMSAUTH" protection="All" timeout="30" requireSSL="false" slidingExpiration="true" cookieless="UseCookies" enableCrossAppRedirects="false" defaultUrl="default.aspx" /> </authentication> <authorization> <deny users="?" /> </authorization>
<membership defaultProvider="AspNetSqlMembershipProvider">
<providers>
<clear />
<add name="AspNetSqlMembershipProvider" type="System.Web.Security.SqlMembershipProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" connectionStringName="LocalSqlServer" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="true" applicationName="/" requiresUniqueEmail="true" passwordFormat="Hashed" maxInvalidPasswordAttempts="5" minRequiredPasswordLength="7" minRequiredNonalphanumericCharacters="1" passwordAttemptWindow="10" passwordStrengthRegularExpression="" />
<add name="PasswordResetMembershipProvider" type="System.Web.Security.SqlMembershipProvider" connectionStringName="LocalSqlServer" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="false" applicationName="/" requiresUniqueEmail="true" passwordFormat="Hashed" maxInvalidPasswordAttempts="5" minRequiredPasswordLength="7" minRequiredNonalphanumericCharacters="1" passwordAttemptWindow="10" passwordStrengthRegularExpression="" />
</providers>
</membership>
Уверенный, вы должны иметь возможность написать пользовательский поставщик членства. Это, по сути, аргументация, лежащая в основе поставщиков, как абстракция, которая может быть заменена другой реализацией. – David