2013-09-30 2 views
0

Когда клиенты посещают мой сайт, передается руководство, в котором рассказывается, в какую компанию они могут войти.Могу ли я изменить имя приложения, когда клиент посещает сайт?

Я бы хотел, чтобы каждая компания имела собственный набор логинов на основе приложения.

Я надеялся сделать заявку для каждой компании на основе этого идентификатора GUID, который передается в.

Может ApplicationName быть изменен, до доступа к AspNetSqlMembershipProvider, так что она связывает пользователей к этому приложению?

<membership> 
    <providers> 
    <clear/> 
    <add name="AspNetSqlMembershipProvider" 
     type="System.Web.Security.SqlMembershipProvider" 
     connectionStringName="ApplicationServices" 
     enablePasswordRetrieval="false" 
     enablePasswordReset="true" 
     requiresQuestionAndAnswer="true" 
     requiresUniqueEmail="true" 
     maxInvalidPasswordAttempts="3" 
     minRequiredPasswordLength="6" 
     minRequiredNonalphanumericCharacters="0" 
     passwordAttemptWindow="10" 
     applicationName="webportal"/> 
    </providers> 
</membership> 

Я не могу изменить его в конфигурации из кода, поскольку это будет влиять на других пользователей ... так, это может быть сделано программно, как только я их GUID?

Спасибо за помощь!

ответ

1

Вы не можете редактировать содержимое файла web.config динамически. Что вы можете сделать, так это указать несколько разных провайдеров в web.config - даже если разница в имени приложения. Затем динамически выбрать провайдера, который Вы хотите динамически, как это:

Membership.Providers["MyOtherProvider"].ValidateUser(username, pwd); 

затем в web.config

<membership> 
    <providers> 
    <clear/> 
    <add name="AspNetSqlMembershipProvider" 
     type="System.Web.Security.SqlMembershipProvider" 
     connectionStringName="ApplicationServices" 
     enablePasswordRetrieval="false" 
     enablePasswordReset="true" 
     requiresQuestionAndAnswer="true" 
     requiresUniqueEmail="true" 
     maxInvalidPasswordAttempts="3" 
     minRequiredPasswordLength="6" 
     minRequiredNonalphanumericCharacters="0" 
     passwordAttemptWindow="10" 
     applicationName="webportal"/> 

    <add name="MyOtherProvider" ... 
    ... 
    /> 
    </providers> 
</membership> 
+0

Pefect! Большое спасибо! – ErocM

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