0

Userを含む、およびGroupからのいくつかのモデルがありcontrib.authます。Django1.4.1を実行しています。

どのユーザーも権限を持っていないようです。

In [1]: User.objects.get(id=1).user_permissions.all()
Out[1]: []

つまり、これは、ユーザーに権限がなく、ユーザーのグループに権限がないことを意味します。だが

In [2]: User.objects.get(id=1).has_perm('change_profile')
Out[2]: True

(予想False

パーミッションのみを明示的に設定するにはどうすればよいですか?このために認証バックエンドを変更する必要がありますか?

設定では、モデルバックエンドのみが設定されます。

In [23]: settings.AUTHENTICATION_BACKENDS
Out[23]: ('django.contrib.auth.backends.ModelBackend',)
4

1 に答える 1

0

問題は、ユーザーがスーパーユーザー ( is_superuser) であり、権限チェックで True が返されることでした。

于 2012-09-03T05:07:40.507 に答える