5

Google App Engine、Python でロールベースのセキュリティを処理する一般的な方法は何ですか?

app.yaml には「login」セクションがありますが、使用可能な値は「admin」と「required」のみです。

通常、役割ベースのセキュリティをどのように扱っていますか?

  • Roles と UserRoles の 2 つのテーブルを持つモデルを作成します。
  • Roles テーブルの値をインポートする
  • ユーザーを UserRoles に手動で追加する
  • ユーザーが正しい役割グループに属しているかどうかを確認します

役割ベースのセキュリティに関するその他のアイデアや方法があれば、お知らせください。

4

1 に答える 1

4

これを行うには、ロールの ListProperty をユーザーを表すモデルに追加します。リストには、特定のユーザーが属するロールが含まれます。このようにして、特定のユーザーが特定のロールに属しているかどうかを知りたい場合 (最も一般的な操作だと思います)、これは迅速なメンバーシップ テストです。

ロール名を文字列としてリストに直接入力するか、ロールに関する詳細を指定する別のエンティティに間接レイヤーを追加して、後で詳細を簡単に変更できるようにすることができます。ただし、これには、ロールに関する詳細を取得するための追加の RPC のランタイム コストがかかります。

この方法の欠点は、特定のロールからすべてのユーザーを削除する場合、またはその他の種類のグローバル操作を実行する場合です。ロールを「削除済み」とマークすることはできると思いますが、手動でクリーンアップするまで、すべてのユーザー モデルにデータが散らかっています。だから私は他の人が提案することを聞くことに興味があります。

于 2009-09-19T15:10:37.043 に答える