次の方法で共有


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 型としてキャストすることで、コレクションからプロバイダーへの厳密に型指定された参照を取得できます。

適用対象

こちらもご覧ください