共用方式為


Roles.Providers 屬性

定義

取得 ASP.NET 應用程式的角色提供者集合。

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

屬性值

RoleProviderCollection,包含為 ASP.NET 應用程式所設定的角色提供者。

例外狀況

未啟用角色管理。

範例

下列程式代碼範例會列出為應用程式及其各自的類型啟用的提供者。

<%@ 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 (RoleProvider p in Roles.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 RoleProvider In Roles.Providers
  Response.Write(p.Name & ", " & p.GetType().ToString() & "<br />")
Next
%>

</body>
</html>

備註

屬性 Providers 會參考為應用程式啟用的所有角色提供者,包括 Web.config 檔案中新增的任何提供者。 您可以使用應用程式的 Web.config 檔案中 roleManager 區段的 元素來控制應用程式providers可用的角色提供者。

下列範例示範 roleManager 區段,移除任何現有提供者 (,例如 Machine.config 檔案中指定的提供者) ,並將實例新增 SqlRoleProvider 為應用程式的角色提供者。

<configuration>
  <connectionStrings>
    <add name="SqlServices" connectionString="Data Source=MySqlServer;Integrated Security=SSPI;Initial Catalog=aspnetdb;" />
  </connectionStrings>

  <system.web>
    <roleManager defaultProvider="SqlProvider"
      enabled="true"
      cacheRolesInCookie="true"
      cookieName=".ASPROLES"
      cookieTimeout="30"
      cookiePath="/"
      cookieRequireSSL="false"
      cookieSlidingExpiration="true"
      cookieProtection="Encrypted">

      <providers>
        <clear/>
        <add
          name="SqlProvider"
          type="System.Web.Security.SqlRoleProvider"
          connectionStringName="SqlServices"
          applicationName="MyApplication" />
         </providers>

    </roleManager>
  </system.web>
</configuration>

您可以從集合取得提供者 Providers 的強型別參考,方法是依名稱編製角色提供者的索引,並將它轉換成所需的類型。

您可以使用 屬性,取得應用程式 Provider 之預設提供者的參考。

適用於

另請參閱