0

顧客が私のサイトにアクセスすると、どの会社にログインできるかを示す GUID が渡されます。

アプリケーションに基づいて、各企業に独自のログイン セットを持たせたいと考えています。

渡されたこのguidをもとに各社に申請書を作りたいと思っていました。

AspNetSqlMembershipProvider にアクセスする前に、applicationName を変更して、ユーザーをそのアプリケーションに関連付けることはできますか?

<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を取得したらプログラムで変更できますか?

助けてくれてありがとう!

4

1 に答える 1

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>
于 2013-09-30T18:09:27.613 に答える