2009-04-25 18 views
0

WSGI、Pythonを使用して簡単なWebフレームワークを作成したいと思います。私は認可制度を理解するために勉強中です。Webフレームワークの承認処理

システムは、新しいシステムをプラグインとしてプロジェクトに追加するのに十分なモジュラで抽象的である必要があります。ユーザーはDBや分散キー/バリューペア、bigtableなどを使用して情報を保存できます。

こういった種類のものは、プラグインとしてシステムに書き込むことができるコンテナまたはプロバイダです。

ログインしたユーザーに非常に高いレベルのIDENTITYを定義したいと考えています。「ID」は、多くのフレームワークで使用されている正しい単語です。しかし複雑な性質のために "アイデンティティ"をオブジェクトとして定義するのは本当に難しいです。アプリケーションに固有の何かを含むことがあります。しかし、アプリケーションを書くときには、アプリケーションはそのアイデンティティーに何が入っているかを気にしなければなりません。しかし、フレームワークとして、アイデンティティが何であるかは気にしません。

認証は認可と分離する必要があります。

ユーザー、グループ、役割/アクセス許可は、プラグインとして設計できます。このコンセプトの背後にあるアイデアは、プラグインのための十分なスペースを備えた良いフレームワーク(少なくとも研究のための私のための)を作成し、アプリケーション開発者がアプリケーションを提供する移植可能なコードを書くことができるようにすることです。

フレームワーク全体で 'identity'オブジェクトを使用することは可能ですか?

答えて

0

"フレームワーク全体で 'identity'オブジェクトを使用することは可能ですか?"

「しかし、定義するのは本当に難しいです 『アイデンティティ』を、その複雑な性質のためにオブジェクトとして。」

あなたはアイデンティティを定義するまで、はい、それはで動作することは困難です。

アイデンティティを明確に指定する必要があります。 「それはアプリケーションに固有のものを含んでいる可能性がある」ということをあまりにも曖昧にしておくと、「いつか誰かがあなたが扱うことができないアイデンティティの概念を発明するかもしれない」という心配があるので、 "

心配しないでください。アイデンティティは明確に定義されており、複雑ではありません。 HTTPおよび他のプロトコルは、ユーザー名、パスワード、およびレルムで「承認」(実際には認証)を定義します。そして、それが本当に必要なのです。

Djangoが行うこと:人物に関する追加の事実を「プロフィール」に追加できます。プロファイルは、識別と認証の中心ではありません。認可の中心ではありません。しかし、誰もが自分の特定のアプリケーションのための "プロフィール"のものを追加することができます。

すべてを行うモデルを作成しないでください。

誰かが追加できるモデルを作成してください。

関連する問題