通知模块的鉴权操作
1.定义权限
这里需要给大家提的是,在我们新建模型完成之后,系统会自动的给这个模型定义三个权限。我们可以通过认证和授权中的组来进行查看。
如下图所示,我们可以看到默认添加的三个权限信息。
当然啦,在实际运行环境中,我们难免要对权限进行扩展。所以我们就需要自定义自己需要的权限了。
下面就来介绍自定义权限的过程。方法很简单,在我们自定义的GfzNotice中添加permissions。我们这里只新增了一个属性,当然了,你可以添加多个属性,属性之间以英文符号逗号分割。
# 定义Notice模型
class GfzNotice(models.Model):
...
class Meta:
...
permissions = (
("scan_noticee", u"查看通知"),
)
修改完成后保存,然后按照附录1的3中所示内容完成数据库的同步。再次查看权限列表时,我们就可以看到notice/通知下面多了一个可以选择的权限,叫做查看通知了。
2.权限的配置
1.分配到组(Group)
这里需要给大家说的是,将权限分配到组的话,就是这个组拥有哪些权限,这个人就拥有哪些权限。具体组的权限配置如下:
将要分配的权限放在右边,然后上面可以自定义一个方便管理的名称,我们这里就定义了一个通知管理组。接下来就是给将组的权限分配给个人。
按照下图所示,将要分配的组移动到右边选中的组中,之后点击保存即可完成相关权限配置过程。
2.分配到个人
有了前面将权限分配到组的过程后,接下来将权限分配给个人就显得十分简单了。如下图所示,我们只把查看通知的权限分配给个人的话,只需要选中,点击右下角的保存按钮即可。
3.权限的使用
前面我们已经了解了权限的定义和配置的相关过程,接下来需要我们完成的就是权限怎么使用了。我们主要会围绕下面几个步骤带大家一起来完成权限的配置和使用过程。
1.设置路由
首先我们在主的路由(fz应用下的urls.py文件)添加如下配置:
urlpatterns = [
...
# 通知入口
url(r'^notice/', include('notice.urls')),
]
这样所有对notice的请求都会交给notice应用下的urls来处理了。
这时我们再来配置notice下的urls.py文件:
# -*- coding:utf-8 -*-
from django.conf.urls import url
from . import views
urlpatterns = [
# add by chr 20160719
# 针对于什么值都不传递过来的情况
url(r'^$', views.home, name='home'),
# 传递不带/的值 进行处理
1.定义权限
这里需要给大家提的是,在我们新建模型完成之后,系统会自动的给这个模型定义三个权限。我们可以通过认证和授权中的组来进行查看。
如下图所示,我们可以看到默认添加的三个权限信息。
当然啦,在实际运行环境中,我们难免要对权限进行扩展。所以我们就需要自定义自己需要的权限了。
下面就来介绍自定义权限的过程。方法很简单,在我们自定义的GfzNotice中添加permissions。我们这里只新增了一个属性,当然了,你可以添加多个属性,属性之间以英文符号逗号分割。
# 定义Notice模型
class GfzNotice(models.Model):
...
class Meta:
...
permissions = (
("scan_noticee", u"查看通知"),
)
修改完成后保存,然后按照附录1的3中所示内容完成数据库的同步。再次查看权限列表时,我们就可以看到notice/通知下面多了一个可以选择的权限,叫做查看通知了。
2.权限的配置
1.分配到组(Group)
这里需要给大家说的是,将权限分配到组的话,就是这个组拥有哪些权限,这个人就拥有哪些权限。具体组的权限配置如下:
将要分配的权限放在右边,然后上面可以自定义一个方便管理的名称,我们这里就定义了一个通知管理组。接下来就是给将组的权限分配给个人。
按照下图所示,将要分配的组移动到右边选中的组中,之后点击保存即可完成相关权限配置过程。
2.分配到个人
有了前面将权限分配到组的过程后,接下来将权限分配给个人就显得十分简单了。如下图所示,我们只把查看通知的权限分配给个人的话,只需要选中,点击右下角的保存按钮即可。
3.权限的使用
前面我们已经了解了权限的定义和配置的相关过程,接下来需要我们完成的就是权限怎么使用了。我们主要会围绕下面几个步骤带大家一起来完成权限的配置和使用过程。
1.设置路由
首先我们在主的路由(fz应用下的urls.py文件)添加如下配置:
urlpatterns = [
...
# 通知入口
url(r'^notice/', include('notice.urls')),
]
这样所有对notice的请求都会交给notice应用下的urls来处理了。
这时我们再来配置notice下的urls.py文件:
# -*- coding:utf-8 -*-
from django.conf.urls import url
from . import views
urlpatterns = [
# add by chr 20160719
# 针对于什么值都不传递过来的情况
url(r'^$', views.home, name='home'),
# 传递不带/的值 进行处理