SettingsAllowAnonymousAttribute Класс

Определение

Определяет, можно ли задать или получить доступ к свойству профиля для анонимного пользователя.

public ref class SettingsAllowAnonymousAttribute sealed : Attribute
[System.AttributeUsage(System.AttributeTargets.Property)]
public sealed class SettingsAllowAnonymousAttribute : Attribute
[<System.AttributeUsage(System.AttributeTargets.Property)>]
type SettingsAllowAnonymousAttribute = class
    inherit Attribute
Public NotInheritable Class SettingsAllowAnonymousAttribute
Inherits Attribute
Наследование
SettingsAllowAnonymousAttribute
Атрибуты

Примеры

В следующем примере кода определяется класс, наследующий от пользовательского ProfileBase профиля. Тип пользовательского профиля указывается в inherits атрибуте элемента конфигурации профиля в файле Web.config для приложения.

using System;
using System.Web.Profile;

namespace Samples.AspNet.Profile
{
  public class EmployeeProfile : ProfileBase
  {
    [SettingsAllowAnonymous(false)]
    [ProfileProvider("EmployeeInfoProvider")]
    public string Department
    {
      get { return base["EmployeeDepartment"].ToString(); }
      set { base["EmployeeDepartment"] = value; }
    }

    [SettingsAllowAnonymous(false)]
    [ProfileProvider("EmployeeInfoProvider")]
    public EmployeeInfo Details
    {
      get { return (EmployeeInfo)base["EmployeeInfo"]; }
      set { base["EmployeeInfo"] = value; }
    }
  }

  public class EmployeeInfo
  {
    public string Name;
    public string Address;
    public string Phone;
    public string EmergencyContactName;
    public string EmergencyContactAddress;
    public string EmergencyContactPhone;
  }
}
Imports System.Web.Profile

Namespace Samples.AspNet.Profile

  Public Class EmployeeProfile
    Inherits ProfileBase

    <SettingsAllowAnonymous(False)> _
    <ProfileProvider("EmployeeInfoProvider")> _
    Public Property Department As String
      Get
        Return MyBase.Item("EmployeeDepartment").ToString()
      End Get
      Set
        MyBase.Item("EmployeeDepartment") = value
      End Set
    End Property

    <SettingsAllowAnonymous(False)> _
    <ProfileProvider("EmployeeInfoProvider")> _
    Public Property Details As EmployeeInfo
      Get
        Return CType(MyBase.Item("EmployeeInfo"), EmployeeInfo)
      End Get
      Set
        MyBase.Item("EmployeeInfo") = value
      End Set
    End Property
  End Class

  Public Class EmployeeInfo
    Public Name As String
    Public Address As String
    Public Phone As String
    Public EmergencyContactName As String
    Public EmergencyContactAddress As String
    Public EmergencyContactPhone As String
  End Class

End Namespace

Комментарии

Класс SettingsAllowAnonymousAttribute используется для определения того, можно ли получить доступ к свойству реализации пользовательского профиля, если пользователь является анонимным пользователем. Сведения о включении анонимной идентификации см. в документации, предоставленной для элемента конфигурации anonymousIdentification .

Если для свойства профиля нет SettingsAllowAnonymousAttribute , анонимный доступ к свойству профиля не разрешен.

Реализация пользовательского профиля — это класс, наследуемый от ProfileBase абстрактного класса и определяющий свойства для профиля пользователя, который не указан в элементе конфигурации профиля . Можно указать настраиваемый тип профиля пользователя в файле Web.config приложения с inherits атрибутом элемента конфигурации профиля , как показано в следующем примере.

<configuration>  
 <connectionStrings> 
   <add name="SqlServices"  
        connectionString="Data Source=localhost;Integrated Security=SSPI;Initial Catalog=aspnetdb;" />  
 </connectionStrings>  
 <system.web>  
   <authentication mode="Forms" >  
     <forms loginUrl="login.aspx"  
            name=".ASPXFORMSAUTH" />  
   </authentication>  
   <authorization>  
     <deny users="?" />  
   </authorization>  
   <profile inherits="Samples.AspNet.Profile.EmployeeProfile"  
            defaultProvider="SqlProvider">  
     <providers>  
       <clear />  
       <add name="SqlProvider"  
            type="System.Web.Profile.SqlProfileProvider"  
            connectionStringName="SqlServices"  
            description="SQL Profile Provider for Sample"/>  
       <add name="EmployeeInfoProvider"  
            type="System.Web.Profile.SqlProfileProvider"  
            connectionStringName="SqlServices"  
            description="SQL Profile Provider for Employee Info"/>  
     </providers>  
     <properties>  
       <add name="GarmentSize" />  
     </properties>  
   </profile>  
 </system.web>  
</configuration>  

Конструкторы

Имя Описание
SettingsAllowAnonymousAttribute(Boolean)

Создает новый экземпляр SettingsAllowAnonymousAttribute класса и указывает, разрешать ли анонимный доступ к связанному свойству профиля.

Свойства

Имя Описание
Allow

Возвращает значение, указывающее, можно ли получить доступ к связанному свойству реализации пользовательского профиля, если пользователь является анонимным пользователем.

TypeId

При реализации в производном классе получает уникальный идентификатор для этого Attribute.

(Унаследовано от Attribute)

Методы

Имя Описание
Equals(Object)

Возвращает значение, указывающее, равен ли этот экземпляр указанному объекту.

(Унаследовано от Attribute)
GetHashCode()

Возвращает хэш-код для этого экземпляра.

(Унаследовано от Attribute)
GetType()

Возвращает Type текущего экземпляра.

(Унаследовано от Object)
IsDefaultAttribute()

Возвращает значение, указывающее, задано ли Allow свойство значением по умолчанию.

Match(Object)

При переопределении в производном классе возвращает значение, указывающее, равен ли этот экземпляр указанному объекту.

(Унаследовано от Attribute)
MemberwiseClone()

Создает неглубокую копию текущей Object.

(Унаследовано от Object)
ToString()

Возвращает строку, представляющую текущий объект.

(Унаследовано от Object)

Явные реализации интерфейса

Имя Описание
_Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr)

Сопоставляет набор имен соответствующему набору идентификаторов диспетчеризации.

(Унаследовано от Attribute)
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)

Извлекает сведения о типе объекта, который можно использовать для получения сведений о типе для интерфейса.

(Унаследовано от Attribute)
_Attribute.GetTypeInfoCount(UInt32)

Возвращает количество предоставляемых объектом интерфейсов для доступа к сведениям о типе (0 или 1).

(Унаследовано от Attribute)
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Предоставляет доступ к свойствам и методам, предоставляемым объектом.

(Унаследовано от Attribute)

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

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