2010-08-23 3 views
0

Мое приложение обращается к активному каталогу для входа и запроса информации о пользователях, и я хотел бы сохранить всю информацию о подключении активного каталога в одном месте.Использование ключей в том же web.config

Я хотел бы иметь доступ к информации о подключении к AD из web.config. Я бы предположить, правильный способ сделать это будет через AppSettings

<appSettings> 
    <add key="LDAPPassword" value="LDAPPassword"/> 
    <add key="LDAPPath" value="LDAP://ConnectionString"/> 
    <add key="LDAPUser" value="LDAPUser"/> 
</appSettings> 

Как бы я идти об использовании этих клавиш далее вниз в файле web.config для того, чтобы настроить MembershipProvider?

<membership defaultProvider="ADMembershipProvider"> 
    <providers> 
    <clear /> 
    <add name="ADMembershipProvider" 
     type="System.Web.Security.ActiveDirectoryMembershipProvider, BlahBlahBlah" 
     connectionStringName=LDAPPath 
     connectionUsername=LDAPUser 
     connectionPassword=LDAPPassword 
    /> 
    </providers> 
</membership> 

Если это не представляется возможным простое использование этих добавлены ключи есть какая-то поддержка для объявления переменных в других местах, которые позволят мне не повторять эту специфическую среду информацию? Или можно запросить ADMembershipProvider для его connectionString, connectionUsername и connectionPassword?

ответ

0

Вы можете использовать Visual Studio Web.config преобразования для замены заполнителей с данными с использованием XPath/XSD.

Но это не работает через Debug - VS не делает преобразование, прежде чем отладки сессий запуска и используют «сырой» Web.config

В VS2008 вы можете использовать предварительно построить события для запуска пользовательского инструмента который заменит держатели мест реальными настройками.

+0

@MushinNoShin : См. Мой обновленный комментарий о VS2008 – abatishchev

+0

Спасибо, это поставило меня на правильный путь. Не совсем то, на что я надеялся, но это дает мне поведение, которое я искал. – MushinNoShin

+0

@MushinNoShin: Добро пожаловать! Рад, что это помогло :) – abatishchev

0

Вы используете .NET 4.0? Если это так, вы можете использовать атрибуты Transform и Locator для значений.

http://msdn.microsoft.com/en-us/library/dd465326.aspx

+0

Использование .net 3.5 к сожалению. – MushinNoShin

+0

.NET 4.0 не является обязательным требованием. VS 2010 есть. Я уверен, что вы можете применить преобразование на ASP.NET 2.0/3.5 Web.config – abatishchev

+0

Если это так, то спасибо за исправление меня @abatishchev – DaveHogan

Смежные вопросы