(機械翻訳) pyramid.security

認証API関数

authenticated_userid(request)[ソース]

プロパティの値を返す関数:attr: pyramid.request.Request.authenticated_userid

バージョン 1.5 で撤廃: 代わりに、代わりにattr: `pyramid.request.Request.authenticated_userid`を使用してください。

unauthenticated_userid(request)[ソース]

プロパティの値を返す関数:attr: pyramid.request.Request.unauthenticated_userid

バージョン 1.5 で撤廃: 代わりに、代わりにattr: `pyramid.request.Request.unauthenticated_userid`を使用してください。

effective_principals(request)[ソース]

プロパティの値を返す関数:attr: pyramid.request.Request.effective_principals

バージョン 1.5 で撤廃: 代わりに、attr: `pyramid.request.Request.effective_principals`を代わりに使用してください。

forget(request)[ソース]

現在認証されているユーザが所有している資格情報のセットを「忘れる」ために適した一連のヘッダタプル(例えば `` [( 'Set-Cookie'、 'foo = abc')] ``)を返します。一般的な使い方は、ビュー関数の本体内にあるように見えるかもしれません( `` response``はビューコードによって以前に計算された:term: `` WebOb`-style:term: `response`オブジェクトと仮定されます)。

from pyramid.security import forget
headers = forget(request)
response.headerlist.extend(headers)
return response

no:term: `authentication policy`が使用されている場合、この関数は常に空のシーケンスを返します。

remember(request, userid, **kwargs)[ソース]

このリクエストのレスポンスに対して一連のヘッダタプル(例えば `` [( 'Set-Cookie'、 'foo = abc')] ``)を返します。これらのヘッダーは、current:term: 認証ポリシー 'を使用して userid``と * kw``として渡されたデータによって暗示された資格情報のセットを「記憶」するのに適しています。一般的な使い方は、ビュー関数の本体の中でそうであるかもしれません( ` response``はビューコードによって前に計算された:term: `` WebOb`-style:term: `response`オブジェクトと仮定されます)。

from pyramid.security import remember
headers = remember(request, 'chrism', password='123', max_age='86400')
response = request.response
response.headerlist.extend(headers)
return response

no:term: `authentication policy`が使用されている場合、この関数は常に空のシーケンスを返します。使用される場合、「** kw」の構成と意味は、呼び出しコードと有効な認証ポリシーによって合意されなければなりません。

バージョン 1.6 で撤廃: その目的を明確にするために `` principal``の引数を `` userid``に変更しました。

認可API関数

has_permission(permission, context, request)[ソース]

:meth: `pyramid.request.Request.has_permission`を呼び出し、その結果を返す関数です。

バージョン 1.5 で撤廃: 代わりに:meth: `pyramid.request.Request.has_permission`を代わりに使用してください。

バージョン 1.5a3 で変更: contextがNoneの場合、selfのcontext属性を使用しようとします。設定されていない場合は、AttributeErrorが伝播されます。

principals_allowed_by_permission(context, permission)[ソース]

`` context``(リソースオブジェクト)と `` permission``(文字列またはunicodeオブジェクト)を指定すると、a:term: `認可ポリシー`が有効な場合、term: `principal 「文脈」で許可を得ているids。許可ポリシーが有効になっていない場合、mod: `pyramid.security.Everyone`(すべてのプリンシパルを表す特別なプリンシパル識別子)という単一の値を持つシーケンスが返されます。

注釈

:term: `認可ポリシー 'が有効であっても、(エキゾチックな)認可ポリシーの中には、この機能に必要な機構を実装していないものもあります。これらは、この関数が呼び出されたときに:exc: `NotImplementedError`例外を発生させます。

view_execution_permitted(context, request, name='')[ソース]

`` context``と `` name``で指定されたビューが:term: permission`で保護されている場合は、有効な認証/認証ポリシーと 要求'`を使ってビューに関連するパーミッションを確認してください。ブール値の結果を返します。もし:term: `authorization policy`が有​​効でない場合、またはビューがパーミッションで保護されていない場合は、 `True``を返します。表示できるビューが見つからない場合は、例外が発生します。

バージョン 1.4a4 で変更: ビューが見つからない場合は例外が発生します。

定数

Everyone

'Everyone'という特別なプリンシパルID。このプリンシパルIDはすべての要求に付与されます。その実際の値は文字列 'system.Everyone'です。

Authenticated

特殊プリンシパルIDは「Authenticated」です。このプリンシパルIDは、(:term: `authentication policy`に従って)他の誰もいないプリンシパルIDを含むすべてのリクエストに付与されます。その実際の値は文字列 'system.Authenticated'です。

ALL_PERMISSIONS

無条件にすべてのアクセス権に一致するACEの `` permission``メンバーとして使用できるオブジェクトです。たとえば、 `` ALL_PERMISSIONS``を使用するACEは ``( 'Deny'、 'system.Everyone'、ALL_PERMISSIONS) ``のように構成されます。

DENY_ALL

``( 'Deny'、 'system.Everyone'、ALL_PERMISSIONS) ``を定義する便利な省略形ACEです。これは、"継承する"セキュリティポリシーを使用するシステムのACL内の最後のACEとして使用され、概念は "他のACEを継承しません"という概念を表します。

NO_PERMISSION_REQUIRED

ビューが、完全に匿名のユーザーによって実行可能であることを示す特別な許可。デフォルトの許可に関係なく、有効である可能性のある:term: `認可ポリシー 'をバイパスします。その実際の値は文字列 '__no_permission_required__'です。

戻り値

Allow

ACE "action "(ACEの最初の要素、例えば ``(Allow、Everyone、 'read') ``はアクセスを許可することを意味します)ACEのシーケンスはACLを構成します。値は"許可"です。

Deny

ACE "action "(ACEの最初の要素、例えば、 ``(Deny、 'george'、 'read') ``はアクセスを拒否する)ACEのシーケンスはACLを構成します。その実際の値は"Deny "です。

class Denied[ソース]

セキュリティ関連のAPIやother:app: Pyramid`コードがACLチェックとは無関係のアクションを拒否した場合、 Denied``のインスタンスが返されます。これは、すべてのブール型のfalse型に等しいと評価されます。拒否の状況を説明する ` msg``という属性があります。

static __new__(cls, s, *args)

新しいインスタンスを作成します。

パラメータ:
  • fmt -- 拒否の理由を説明する書式文字列。
  • args -- 引数は `` msg``を生成するためにフォーマット文字列とともに格納され、使用されます。
msg

結果が生成された理由を示す文字列。

class Allowed[ソース]

セキュリティ関連のAPIやother:app: Pyramid`コードがACLチェックと無関係のアクションを許可すると、 Allowed``のインスタンスが返されます。すべてのブール型trueと等しいと評価されます。これは、許可の状況を説明する ` msg``という属性を持っています。

static __new__(cls, s, *args)

新しいインスタンスを作成します。

パラメータ:
  • fmt -- 拒否の理由を説明する書式文字列。
  • args -- 引数は `` msg``を生成するためにフォーマット文字列とともに格納され、使用されます。
msg

結果が生成された理由を示す文字列。

class ACLDenied[ソース]

`` ACLDenied``のインスタンスは、ACLに対して明示的に行われたセキュリティチェックが拒否されたことを表すclass: pyramid.security.Denied`の特殊化です。これは、すべてのブール型のfalse型に等しいと評価されます。また、 ` acl``、 `` ace``、 `` permission``、 `` principals``、 `` context``の属性も持っています。これらの属性は、要求に関係するセキュリティ値を示します。 `` __str__``メソッドはデバッグの目的でこれらの属性の要約を出力します。同じ要約を `` msg``属性として利用できます。

static __new__(cls, ace, acl, permission, principals, context)

新しいインスタンスを作成します。

パラメータ:
  • ace -- :term: `ACE`は一致し、結果をトリガします。
  • acl -- :term:ACLに `` ace``が含まれています。
  • permission -- 必須:term: `permission`です。
  • principals -- リスト:term: `プリンシパル<principal> `提供された。
  • context -- :term: context`は検索された:term: lineage`を提供します。
msg

結果が生成された理由を示す文字列。

class ACLAllowed[ソース]

`` ACLAllowed``のインスタンスは、class: pyramid.security.Allowed`の特化で、ACLに対して明示的に行われたセキュリティチェックが許可されたことを表します。すべてのブール型trueと等しいと評価されます。また、 ` acl``、 `` ace``、 `` permission``、 `` principals``、 `` context``の属性も持っています。これらの属性は、要求に関係するセキュリティ値を示します。 `` __str__``メソッドはデバッグの目的でこれらの属性の要約を出力します。同じ要約を `` msg``属性として利用できます。

static __new__(cls, ace, acl, permission, principals, context)

新しいインスタンスを作成します。

パラメータ:
  • ace -- :term: `ACE`は一致し、結果をトリガします。
  • acl -- :term:ACLに `` ace``が含まれています。
  • permission -- 必須:term: `permission`です。
  • principals -- リスト:term: `プリンシパル<principal> `提供された。
  • context -- :term: context`は検索された:term: lineage`を提供します。
msg

結果が生成された理由を示す文字列。