2011-02-06 4 views
4

私がこれまでに受けたすべての議論やチュートリアルでは、単純なバイナリ認証のみを扱っていました。ブログアプリケーションでは、ユーザーはページを編集できますか?ユーザーはコメントを承認できますか?そのような簡単な例。ウェブアプリケーションでの承認/スコープの制御

私が多く見たことがないのは、より複雑な「スコープ」ベースの認証の例です。ユーザーはページを編集できますか?ユーザーはコメントを承認できますか? ...ユーザーが特定のレコードに対してアクションを実行する権限を持っていますが、すべてではありません。

この問題には一般的なアプローチがありますか?いい例がありますか?私は様々なシンプルな解決策を取り上げることができますが、私は車輪を再発明しているような気がしません。

FWIW、私が扱っている現在のアプリケーションはPython Pylonsでビルドされています。

+1

これは良い質問です。しかし、私はそれが常に主に問題のドメインに依存していると思います。私は、問題のドメインが非常に異なっていて、本で普遍的に「最良の」アプローチを見つけることは期待できないことを意味します。たとえば、このstackoverflowサイトを見てください - あなたは彼らが本でそれについて読んだ後にこの素晴らしい仕事をしたと思いますか?もう一度考えて。 –

答えて

1

アイブ氏は、それは2つの方法で行わ見て:ユーザーがなかった時にセキュリティチェックを行うことができますオブジェクトが変更されているリッチドメインモデルで

  1. を、(オブジェクトは読み取り専用モードにすることができ編集権限があり、そうでなければ例外がスローされます)。
  2. 貧血ドメインモデルでは、オブジェクト(または共同セキュリティサービス)上で動作しているサービスによってチェックが行われます。

両方のアプローチが必要です。

1

ええと、これはしばらくの間これを実行します。 PythonがPHPにあるGACLに類似したものかどうかを見てみることができます。しかし、それは過度のことかもしれません。

これを多く実行すると、ACLを実装して再利用するだけです。同一のフレームワークを使用しているとします。

関連する問題