私は CMS を作成していますが、現在いくつかの問題に直面しています。アドバイスが必要です。カスタム許可を定義できるいくつかの異なるモジュール (アプリ) があります。モデルでは、「view_store」、「edit_store」、「delete_store」などのカスタム許可を定義します。そして、管理者、編集者、vip、ユーザーなど、さまざまなユーザーグループを定義しました(グループベースのユーザーアクセス制御が必要です)。
CMS (manage.py initcms) を初期化するコマンドを 1 回実行するときにこれらのグループを作成しています。もちろん、すべての適切なアクセス許可が同時にグループに追加されるようにしたいと考えています。
initcms アクションは syncdb の後に実行されるため、すべてのモデルが DB にあります (もちろん権限に関する情報も含まれます)。
私は心に何かを持っています...これが良い方法ですか、それともあなたがより良い方法を持っていますか? 私について説明しましょう: たとえば、vip ユーザーに、すべてのモデル (この権限が定義されている) からのすべての権限を「view_*」に付与したいと考えています。これは、vip がすべてを表示できることを意味します。データベースを初期化するときに、パターン「LIKE view_%」に適合するすべてのエントリ(すべての権限)を取得し、これらすべてをグループの権限に追加するという考えがあります。
しかし、新しいモジュールが追加されるかどうかの問題...このアクションを再実行して、すべての権限が正しいかどうかを確認する必要があります...グループの権限を動的に処理する方法があるのでしょうか?