Friday 3:40 p.m.–4:10 p.m.
Room 203 #pyconjp_203プロダクト開発して分かったDjangoの深~いパーミッション管理の話
Hiroki Kiyohara
- Audience level:
- Intermediate
- Category:
- Web Frameworks
- Slide:
- http://slides.hirokiky.org/pyconjp2017.html
- Video:
- https://youtu.be/6SC1eH-B1X0
Description
DjangoのView内でユーザーの権限を調べるif分岐がグチャグチャ、DjangoのPermissionがイマイチ使えない、チームやロール、契約プランが絡んだパーミッションが難しい。。。そんな人はこのトークを聞いてください。
このトークではPyQ https://pyq.jp/ という製品開発を通して学んだパーミッション、権限管理、オブジェクト認可の方法を話します。
ユーザーの権限や契約中のプラン、チームやロールによってパーミッションが変わるようなDjangoアプリケーションをどう作るかを、深〜く説明いたします。
オブジェクトの単純な認可でなく、Viewにアクセスできるかの判定や、テンプレートの一部を表示非表示するような、アプリケーション開発に必要なパーミッションの知識を網羅します。
Abstract
DjangoのView内でユーザーの権限を調べるif分岐がグチャグチャ、DjangoのPermissionがイマイチ使えない、チームやロール、契約プランが絡んだパーミッションが難しい。。。そんな人はこのトークを聞いてください。
## プロダクト開発を通して得た知識を共有します
このトークではPyQ https://pyq.jp/ という製品開発を通して学んだパーミッション、権限管理、オブジェクト認可の方法を話します。
ユーザーの権限や契約中のプラン、チームやロールによってパーミッションが変わるようなDjangoアプリケーションをどう作るかを、深〜く説明いたします。
## ただのオブジェクトのパーミッションだけではありません
オブジェクトの単純な認可でなく、画面やワークフローなどアプリケーション開発に必要なパーミッションの知識を網羅します。
DjangoのPermissionを使っても、単にモデルを追加、削除、編集する権限があるかないかしか管理できません。
今回紹介する方法ではモデルだけでなく画面やそれ以外の場所にも使える汎用的なパーミッション管理の方法をお伝えします。
例えば View にデコレータをつけるだけで、「この権限を持つユーザーのみ許可」とできたら素敵ではないですか?毎度Viewの中に書いたり、独自のデコレータを作って対応していませんか?
その面倒な作業にサヨナラする方法を紹介します。