2017-03-22 16 views
0

私の質問を読んでくれてありがとう。Django(グループ、ロール、アクセス許可)に設定されているアクセス許可を行う最良の方法

http://djangobook.com/customizing-authentication-django/

django roles authorization architecture

Django Permissions for Different Clients

...と私はジャンゴに設定された権限については明らかではないよ:(:依頼する前に

、私は私の疑問について読んでいました

私はDjangoを学んでいますが、私は自分のアプリに権限セットを構築しようとしています。教師、学生、管理人、クラスルームの指導者。

システムの前提は次のとおりです。ユーザーはロールを持っていなければなりません。

それについていくつかの質問:

  1. 私は一般的なプロファイルと、ロールテーブルを事前格納する思考:学生、教師、管理...それを行うには良い方法は何ですか?

  2. 典型的な制限:教師は、ユニークなプロファイルは、学生のスコアを追加、削除、表示、編集することができます。それを行う良い方法は何ですか?私はカスタムシステムを通してそれをやるべきでしょうか? uをいくつかのURL、コードまたはソースを持っていますが、どこで確認できますか?

すみません。ありがとう!

答えて

0

私は同様の問題があり、デフォルトのdjangoパーミッションシステムではオブジェクトごとのパーミッションを実行できないため、自分自身のパーミッションシステムを設計してしまいました。

私はdjango.contrib.auth.models.Group(私はしばしば複数のインストラクターを持っていることが多いため)の外来キーを持つモデルLabAccessとコースのための別の外部キーを追加しました。 (これにより、複数のグループがコースのインストラクターになることができます)。次に、講師用の各ビューで、ユーザーが所属するグループの1つにLabAccessテーブルの項目があるかどうかを確認します。このシステムのソースコードは実際にはavailableです。

(django-guardian)[http://django-guardian.readthedocs.io/en/stable/]]のように、オブジェクトごとのアクセス許可をサポートするdjango拡張もあります。 (私はそれについての経験はありません)

+0

こんにちは@ W.Mannさん、ありがとうございました。私は思う...私の基本要件のためにDjangoはネイティブな方法でそれを行うことはできません、私のシステムを行うための正しいフレームワークはdjangoですか?私は知らない... – Sommer

+0

@Sommer:djangoを既に知っていて、役割/権限があまり複雑でない場合は、おそらくdjangoに最適です。オブジェクトごとの権限をサポートするdjango拡張もあります。 [django-guardian](http://django-guardian.readthedocs.io/en/stable/)のようなものです(経験はありませんが、私はそれを私の答えに追加します)。 –

+0

もう一度ありがとう! Djangoの権限システムを構築しようとしています。 – Sommer

関連する問題