2015-06-15 19 views
0

在典型的数据库中,管理员可以分配用户并创建只能由特定用户或组访问的表格。你也可以创建一些查询,这些查询可以由MySQL等数据库中的某些用户创建。Django是否在使用模型的数据库中实现用户权限?

Django的是否提供任何这样的功能,或者仅是它的Django的管理界面,这是否?

据我所知,管理员可以创建用户和与应用模型时为他们提供的权限。

回答

1

Django的本身并不提供对数据库的访问级别的用户/组/权限,因为它没有一个典型的Web应用程序,所有的连接将使用相同的数据库用户作出多大意义(一在settings.DATABASES中定义)。请注意,这不是真正的Web应用程序标准的缺点。

什么Django提供是应用程序级的用户/组/权限(CF https://docs.djangoproject.com/en/1.8/topics/auth/)。您可以通过管理员访问此应用程序层,当然也可以通过编程方式通过django.contrib.auth包。

+0

嘿@brunodesthuilliers,谢谢你的信息。我的后续问题是关于django如何将模型的管理界面中的用户权限转换为数据库级别。我知道它使用对象关系映射将模型转换为数据库中的表。 – susheel

+0

@susheel Django是OSS,所以你可以自己检查'django.contrib.auth'是如何实现的。快速回答:它全部基于用户,组,权限及其之间关系的模型。 –

-1

是的,你可以做到这一点。

Django的模块django.contrib.auth.models

你可以从那里进口的所有车型,如集团,权限和所有定义这些模型。

from django.contrib.auth.models import * 

如果要列出所有Django的权威性的模型,你可以看到他们在MySQL /或前缀auth_ *如其他数据库也一样,在mysql中

show tables like "%auth%"; 

在这些模型中,你可以使用Django ORM 。

+1

@ vaibav - 库马尔我觉得OP是询问有关数据库级用户和权限,而不是应用水平。 –

相关问题