Chinaunix首页 | 论坛 | 博客
  • 博客访问: 42844
  • 博文数量: 10
  • 博客积分: 1420
  • 博客等级: 上尉
  • 技术积分: 90
  • 用 户 组: 普通用户
  • 注册时间: 2007-11-22 15:28
文章分类

全部博文(10)

文章存档

2009年(3)

2008年(7)

我的朋友

分类: Python/Ruby

2008-08-22 14:47:14

   django自带的auth框架,认证系统是与auth下的models相关的,如果要认证别的app里的models,应该怎么做呢?
   经过查看源代码,大致知道怎么弄了,但为什么这样弄?还得继续读读它的源代码....
   先就写上怎么弄吧,至于实现机制,以后看懂了再补上
   1.在app中定义数据库模型,或者直接从auth中继承User模型,然后完善模型属性,注意仿照auth下models里的UserManager类,定义app中models里类似类的定义,当然这个不是必须的,这样做只是为了我们尽量可以像使用自带auth一样的使用。
   2.在app中新建backends.py,定义类ModelBackend,以及实例方法authenticate和get_user,可以仿照auth中的backends.py
   3.在settings.py中添加一句:
AUTHENTICATION_BACKENDS = ('django.contrib.auth.backends.ModelBackend','xxx.xxx.backends.ModelBackend',)
   这样在定义自己的views函数的时候,自带的auth和改动后的auth都可以使用了。
阅读(1411) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~