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 から継承してカスタム プロファイルを作成するクラスを定義します。 カスタム プロファイルの種類は、アプリケーションの Web.config ファイルのinherits構成要素の属性で指定されます。

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 クラスは、ユーザーが匿名ユーザーの場合にカスタム プロファイル実装のプロパティにアクセスできるかどうかを識別するために使用されます。 匿名 ID を有効にする方法については、 anonymousIdentification 構成要素に関するドキュメントを参照してください。

プロファイル プロパティに SettingsAllowAnonymousAttribute が指定されていない場合、プロファイル プロパティの匿名アクセスは許可されません。

カスタム プロファイル実装は、 ProfileBase 抽象クラスから継承し、 プロファイル 構成要素で指定されていないユーザー プロファイルのプロパティを定義するクラスです。 次の例に示すように、プロファイル構成要素の inherits 属性を使用して、アプリケーションの Web.config ファイルでカスタム ユーザー プロファイル の種類を指定できます。

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

適用対象

こちらもご覧ください