次の方法で共有


Membership.Providers プロパティ

定義

ASP.NET アプリケーションのメンバーシップ プロバイダーのコレクションを取得します。

public:
 static property System::Web::Security::MembershipProviderCollection ^ Providers { System::Web::Security::MembershipProviderCollection ^ get(); };
public static System.Web.Security.MembershipProviderCollection Providers { get; }
static member Providers : System.Web.Security.MembershipProviderCollection
Public Shared ReadOnly Property Providers As MembershipProviderCollection

プロパティ値

ASP.NET アプリケーション用に構成されたメンバーシップ プロバイダーの MembershipProviderCollection

次のコード例では、アプリケーションに対して有効になっているプロバイダーと、それぞれの型を一覧表示します。

<%@ Page Language="C#" %>
<%@ Import Namespace="System.Web.Security" %>
<%@ Import Namespace="System.Configuration.Provider" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>List Enabled Providers</title>
</head>
<body>

<%
foreach (ProviderBase p in Membership.Providers)
  Response.Write(p.Name + ", " + p.GetType() + "<br />");
%>

</body>
</html>
<%@ Page Language="VB" %>
<%@ Import Namespace="System.Web.Security" %>
<%@ Import Namespace="System.Configuration.Provider" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>List Enabled Providers</title>
</head>
<body>

<%
For Each p As ProviderBase In Membership.Providers
  Response.Write(p.Name & ", " & p.GetType().ToString() & "<br />")
Next
%>

</body>
</html>

注釈

プロパティは Providers 、アプリケーションに対して有効になっているすべてのメンバーシップ プロバイダーを参照します。これには、アプリケーションの Web.config ファイルに追加されたプロバイダーと、すべてのアプリケーションの Machine.config ファイルが含まれます。 アプリケーションの構成のメンバーシップ セクションの providers 要素を使用して、アプリケーションで使用できる メンバーシップ プロバイダーを制御できます。 たとえば、次の例では、コンピューター構成ファイルで指定されたインスタンス (AspNetSqlProvider) を削除SqlMembershipProviderし、アプリケーションの既定のメンバーシップ プロバイダーとして という名前SqlProviderのインスタンスを追加SqlMembershipProviderする、アプリケーションの Web.config ファイルのメンバーシップ セクションを示しています。

<configuration>
  <connectionStrings>
    <add name="SqlServices" connectionString="Data Source=MySqlServer;Integrated Security=SSPI;Initial Catalog=aspnetdb;" />
  </connectionStrings>
  <system.web>
    <membership defaultProvider="SqlProvider" userIsOnlineTimeWindow="20">
      <providers>
        <remove name="AspNetSqlProvider" />
          <add name="SqlProvider"
            type="System.Web.Security.SqlMembershipProvider"
            connectionStringName="SqlServices"
            enablePasswordRetrieval="false"
            enablePasswordReset="true"
            requiresQuestionAndAnswer="true"
            passwordFormat="Hashed"
            applicationName="/" />
      </providers>
    </membership>
  </system.web>
</configuration>

membership 要素 (ASP.NET 設定スキーマ) セクションを指定する場合は、 属性を指定するdefaultProvider必要があります。 Web.config でメンバーシップ要素 (ASP.NET 設定スキーマ) セクションを指定しない場合、マシン構成の値が使用され、 という名前AspNetSqlProviderSqlMembershipProviderインスタンスが としてdefaultProvider確立されます。

メンバーシップ プロバイダーに名前でインデックスを付け、目的の Providers 型としてキャストすることで、コレクションからプロバイダーへの厳密に型指定された参照を取得できます。

適用対象

こちらもご覧ください