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
public sealed class AspNetHostingPermission : 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. クラスのインスタンスを作成するには、少なくとも MinimalAspNetHostingPermission のアクセス許可 Level でコードを実行している必要があります。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.

AspNetHostingPermission クラスの Level プロパティは、 trust configuration 要素で適切な信頼レベルを構成することによって設定されます。The AspNetHostingPermission class's Level property is set by configuring the appropriate trust level in the trust configuration element. 既定では、trust 構成要素の level 属性は 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 アプリケーションドメインが作成されると、ASP.NET は、trust 構成要素の level 属性に指定された値を読み取り、指定された Level 属性を使用して AspNetHostingPermission クラスのインスタンスを作成してから、そのクラスをアプリケーションドメインのアクセス許可セットに追加します。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 の信頼レベルとポリシー ファイル」をご覧ください。For more information, see ASP.NET Trust Levels and Policy Files.

信頼されているサイトの場合は、trust 構成要素の level 属性を High に設定することをお勧めします。It is recommended that you set the level attribute of the trust configuration element to High for sites that are trusted. 外部の顧客のコードを実行するサイトをホストする Web サーバーなど、信頼されていないサイトの場合は、trust 構成要素の level 属性を 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)

適用対象

こちらもご覧ください