权限和权限核准-libmodbus源码解析

时间:2024-07-14 01:47:24
【文件属性】:

文件名称:权限和权限核准-libmodbus源码解析

文件大小:7.37MB

文件格式:PDF

更新时间:2024-07-14 01:47:24

PDF

11.4权限和权限核准 Django 自带了一个简单的权限系统。通过它可以为指定的用户和用户组赋予权限。Django 管理后台就用到了 这个系统,当然也欢迎在你自己的代码中使用。Django 管理后台使用权限控制下述操作: • 限制有某种对象的“添加”权限才能查看“添加”表单和添加对象。 • 限制有某种对象的“修改”权限才能查看修改列表、“修改”表单和修改对象。 • 限制有某种对象的“删除”权限才能删除对象。 权限不仅可以在一种对象上设定,也可以在具体的对象实例上设定。使用 ModelAdmin类提供的 has_add_per- mission()、has_change_permission()和 has_delete_permission()方法可以定制同一类型不同实例的权限。 User对象有两个多对多字段,分别是 groups和 user_permissions。User对象访问相关对象的方式与其他 Django 模型一样。 11.4.1默认权限 在 INSTALLED_APPS设置中列出 django.contrib.auth后,安装的各个应用中的每个 Django 模型默认都有三个 权限:添加、修改和删除。每次运行 manage.py migrate命令创建新模型时都会为其赋予这三个权限。 11.4.2分组 django.contrib.auth.models.Group模型是为用户分类的通用方式,这样便可以为一批用户赋予权限或添加其 他标注。用户所属的分组数量不限。一个分组中的用户自动获得赋予那个分组的权限。例如“Site editors”分组 有 can_edit_home_page权限,那么其中的任何一个用户都有这个权限。 除了权限之外,分组还是为用户分类的便捷方式,分组后可以给用户添加标签,或者扩展功能。例如,可以 创建“Special users”分组,然后编写代码,允许这一组中的用户访问只有会员才能查看的内容,或者发送只给 会员看的电子邮件。 11.4.3通过编程方式创建权限 除了可以在模型的 Meta类中定制权限之外,还可以直接创建权限。例如,为 books应用中的 BookReview模型 赋予 can_publish权限: from books.models import BookReview from django.contrib.auth.models import Group, Permission from django.contrib.contenttypes.models import ContentType content_type = ContentType.objects.get_for_model(BookReview) permission = Permission.objects.create(codename='can_publish', name='Can Publish Reviews', content_type=content_type) 然后,可以通过 User的 user_permissions属性把这个权限赋予一个用户,或者通过 Group的 permissions属 性把这个权限赋予一个分组。 11.4 权限和权限核准 - 157


网友评论