AspNetHostingPermission クラス

定義

ASP.NET ホスト環境でアクセス許可を制御します。Controls access permissions in ASP.NET hosted environments. このクラスは継承できません。This class cannot be inherited.

public ref class AspNetHostingPermission sealed : System::Security::CodeAccessPermission, System::Security::Permissions::IUnrestrictedPermission
[System.Serializable]
public sealed class AspNetHostingPermission : System.Security.CodeAccessPermission, System.Security.Permissions.IUnrestrictedPermission
type AspNetHostingPermission = class
    inherit CodeAccessPermission
    interface IUnrestrictedPermission
Public NotInheritable Class AspNetHostingPermission
Inherits CodeAccessPermission
Implements IUnrestrictedPermission
継承
AspNetHostingPermission
属性
実装

次のコード例は、 AspNetHostingPermissionアクセス許可を使用して保護されているクラスを示しています。The following code example shows a class protected using the AspNetHostingPermission permission. クラスのインスタンスを作成するにMinimalLevel 、少なくAspNetHostingPermissionともアクセス許可を使用してコードを実行する必要があります。Code must be running with at least MinimalAspNetHostingPermission permission Level in order to create an instance of the class.

using System;
using System.Web;
using System.Security.Permissions;

[AspNetHostingPermission(SecurityAction.Demand, Level=AspNetHostingPermissionLevel.Medium)]
public class CustomAspNetClass
{

}
Imports System.Web
Imports System.Security.Permissions

<AspNetHostingPermission(SecurityAction.Demand, Level:=AspNetHostingPermissionLevel.Medium)> _
Public Class CustomAspNetClass

End Class

注釈

クラスAspNetHostingPermissionは、system.web 名前空間のパブリック型を保護するために、コードアクセスセキュリティと組み合わせて使用されます。The AspNetHostingPermission class is used in conjunction with code access security to help protect public types in the System.Web namespaces. 保護された ASP.NET クラスにMinimalアクセスするには、少なくとも信頼レベルでコードを割り当てる必要があります。Code must be assigned at least the Minimal trust level to access protected ASP.NET classes.

クラスのLevelプロパティは、trust configuration 要素で適切な信頼レベルを構成することによって設定されます。 AspNetHostingPermissionThe AspNetHostingPermission class's Level property is set by configuring the appropriate trust level in the trust configuration element. 既定levelでは、 trust構成要素の属性はにFull設定されています。By default, the level attribute of the trust configuration element is set to Full. つまり、既定では、ASP.NET アプリケーションはUnrestrictedレベルで実行されます。That is, by default, ASP.NET applications run under the Unrestricted level. ASP.NET アプリケーションドメインが作成されるとlevel 、ASP.NET は、 trust構成要素の属性に指定された値を読み取り、指定AspNetHostingPermissionされLevelた属性を使用してクラスのインスタンスを作成します。次に、クラスをアプリケーションドメインのアクセス許可セットに追加します。When an ASP.NET application domain is created, ASP.NET reads the value specified for the level attribute of the trust configuration element, creates an instance of the AspNetHostingPermission class with the specified Level attribute, and then adds the class to the permission set for the application domain. 詳細については、「 ASP.NET Trust Levels And Policy Files」を参照してください。For more information, see ASP.NET Trust Levels and Policy Files.

信頼されているサイトのlevel場合は、 trust構成要素のHigh属性をに設定することをお勧めします。It is recommended that you set the level attribute of the trust configuration element to High for sites that are trusted. 外部の顧客のコードを実行するサイトをホストする Web サーバーなど、信頼されていないサイトの場合は、 level trust構成要素の属性をにMedium設定することをお勧めします。For sites that are not trusted, such as a Web server that hosts sites that run code from an external customer, it is recommended that you set the level attribute of the trust configuration element to Medium.

.NET Framework に既定で定義されるアクセス許可セット (たとえば、LocalIntranet、インターネットなど) には、アクセス許可はAspNetHostingPermission含まれません。The permission sets that are defined by default for the .NET Framework (for example, LocalIntranet, Internet, and so on) do not include the AspNetHostingPermission permission. つまり、 AspNetHostingPermissionアクセス許可は、既定では、信頼の下でFull実行されているアプリケーションにのみ割り当てられます。That is, the AspNetHostingPermission permission is only assigned, by default, to applications that are running under Full trust.

コンストラクター

AspNetHostingPermission(AspNetHostingPermissionLevel)

アクセス許可レベルを指定して、AspNetHostingPermission クラスの新しいインスタンスを初期化します。Initializes a new instance of the AspNetHostingPermission class with the specified permission level.

AspNetHostingPermission(PermissionState)

AspNetHostingPermission 列挙値を指定して、PermissionState クラスの新しいインスタンスを初期化します。Initializes a new instance of the AspNetHostingPermission class with the specified PermissionState enumeration value.

プロパティ

Level

ASP.NET アプリケーションで現在ホストしているアクセス許可レベルを取得または設定します。Gets or sets the current hosting permission level for an ASP.NET application.

メソッド

Assert()

呼び出し側コードが、このメソッドを呼び出すコードを通じて、アクセス許可要求によって保護されているリソースにアクセス可能であるということ、それも、スタックの中で上位に位置する呼び出し側にリソースへのアクセス許可が付与されていない場合でさえそれが可能であることを宣言します。Declares that the calling code can access the resource protected by a permission demand through the code that calls this method, even if callers higher in the stack have not been granted permission to access the resource. Assert() を使用すると、セキュリティ上の問題が発生することがあります。Using Assert() can create security issues.

(継承元 CodeAccessPermission)
Copy()

派生クラスにより実装されると、現在のアクセス許可オブジェクトの同一のコピーを作成して返します。When implemented by a derived class, creates and returns an identical copy of the current permission object.

Demand()

呼び出し履歴の上位にあるすべての呼び出し元に、現在のインスタンスによって指定されているアクセス許可が付与されていない場合、実行時に SecurityException を強制します。Forces a SecurityException at run time if all callers higher in the call stack have not been granted the permission specified by the current instance.

(継承元 CodeAccessPermission)
Deny()

呼び出し履歴内の上位の呼び出し元が、このメソッドを呼び出すコードを使用して、現在のインスタンスで指定されたリソースにアクセスしないようにします。Prevents callers higher in the call stack from using the code that calls this method to access the resource specified by the current instance.

(継承元 CodeAccessPermission)
Equals(Object)

指定した CodeAccessPermission オブジェクトが、現在の CodeAccessPermission と等しいかどうかを判断します。Determines whether the specified CodeAccessPermission object is equal to the current CodeAccessPermission.

(継承元 CodeAccessPermission)
FromXml(SecurityElement)

XML エンコーディングから、指定した状態のアクセス許可オブジェクトを再構築します。Reconstructs a permission object with a specified state from an XML encoding.

GetHashCode()

ハッシュ アルゴリズムや、ハッシュ テーブルのようなデータ構造での使用に適している、CodeAccessPermission オブジェクトのハッシュ コードを取得します。Gets a hash code for the CodeAccessPermission object that is suitable for use in hashing algorithms and data structures such as a hash table.

(継承元 CodeAccessPermission)
GetType()

現在のインスタンスの Type を取得します。Gets the Type of the current instance.

(継承元 Object)
Intersect(IPermission)

派生クラスによって実装されるときに、現在のアクセス許可と、指定したアクセス許可の積集合で構成されるアクセス許可を作成して返します。When implemented by a derived class, creates and returns a permission that is the intersection of the current permission and the specified permission.

IsSubsetOf(IPermission)

現在のアクセス許可が、指定したアクセス許可のサブセットかどうかを示す値を返します。Returns a value indicating whether the current permission is a subset of the specified permission.

IsUnrestricted()

現在のアクセス許可によって保護されているリソースに無制限でアクセスできるかどうかを示す値を返します。Returns a value indicating whether unrestricted access to the resource that is protected by the current permission is allowed.

MemberwiseClone()

現在の Object の簡易コピーを作成します。Creates a shallow copy of the current Object.

(継承元 Object)
PermitOnly()

呼び出し履歴内の上位の呼び出し元が、このメソッドを呼び出すコードでは一切リソースにアクセスできないようにします。ただし、現在のインスタンスで指定されているリソースは例外です。Prevents callers higher in the call stack from using the code that calls this method to access all resources except for the resource specified by the current instance.

(継承元 CodeAccessPermission)
ToString()

現在のアクセス許可オブジェクトの文字列形式を作成して返します。Creates and returns a string representation of the current permission object.

(継承元 CodeAccessPermission)
ToXml()

アクセス許可オブジェクトとその現在の状態を表す XML エンコーディングを作成します。Creates an XML encoding of the permission object and its current state.

Union(IPermission)

現在のアクセス許可と指定されたアクセス許可の和集合であるアクセス許可を作成します。Creates a permission that is the union of the current permission and the specified permission.

明示的なインターフェイスの実装

IPermission.Demand() (継承元 CodeAccessPermission)
IStackWalk.Assert() (継承元 CodeAccessPermission)
IStackWalk.Demand() (継承元 CodeAccessPermission)
IStackWalk.Deny() (継承元 CodeAccessPermission)
IStackWalk.PermitOnly() (継承元 CodeAccessPermission)

適用対象

こちらもご覧ください