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. Вы можете контролировать, какие поставщики ролей доступны для приложения, с помощью providers элемента раздела roleManager в файле Web.config для приложения.

В следующем примере показан раздел 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 свойства .

Применяется к

См. также раздел