目次
池田
2024.03.08
157
DRFのログイン周りを実装中にふと思った。
authenticationclassesとpermissionclassesがあるけど違いは?どっちを使うべき?
APIViewの継承時にauthenticationclassesを設定すると、その認証が必要になり、またpermissionclassesを設定するとその権限を持っているものしかAPIViewを起動することができなくなる。(認可)
認証と承認の違いだった。以下ものすごくわかりやすい例
ある家族が休暇で留守の間、その家のペットを世話するために訪れた人が、施錠されたドアの前に立っている状況を考えてみましょう。この人物には、以下が必要です。
認証:この場合は、家の鍵です。施錠されたドアは、正しい鍵を持つ人だけが開けることができます。これは、システムが正しい資格情報を持つユーザーにのみアクセス権を付与する認証と同じことです。
承認:この場合は、家に入る許可です。家の中では、キッチンに入り、ペットフードを保管している食器棚を開けることができます。しかし、昼寝のために寝室に入る許可(認可)は与えられないでしょう。
参考サイト↓
https://torajirousan.hatenadiary.jp/entry/2021/01/01/192820
https://www.okta.com/jp/identity-101/authentication-vs-authorization/