Udostępnij za pośrednictwem


Roles.Providers Właściwość

Definicja

Pobiera kolekcję dostawców ról dla aplikacji 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

Wartość właściwości

Element RoleProviderCollection zawierający dostawców ról skonfigurowanych dla aplikacji ASP.NET.

Wyjątki

Zarządzanie rolami nie jest włączone.

Przykłady

Poniższy przykład kodu zawiera listę dostawców włączonych dla aplikacji i ich typów.

<%@ 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>

Uwagi

Właściwość Providers odwołuje się do wszystkich dostawców ról włączonych dla aplikacji, w tym wszystkich dostawców dodanych w pliku Web.config. Można kontrolować, którzy dostawcy ról są dostępni dla aplikacji, używając providers elementu sekcji roleManager w pliku Web.config aplikacji.

W poniższym przykładzie pokazano sekcję roleManager , która usuwa wszystkich istniejących dostawców (takich jak określone w pliku Machine.config) i dodaje SqlRoleProvider wystąpienie jako dostawcę roli dla aplikacji.

<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>

Można uzyskać silnie typizowane odwołanie do dostawcy z Providers kolekcji, indeksując dostawcę roli według nazwy i odrzucając go jako żądany typ.

Możesz uzyskać odwołanie do domyślnego dostawcy dla aplikacji przy użyciu Provider właściwości .

Dotyczy

Zobacz też