相关疑难解决方法(0)

Django用户和外部源的身份验证

我有一个Django应用程序,它完全从外部源(通过HTTP查询)获取数据.也就是说,我没有本地数据库的选项.会话数据存储在缓存中(在我的开发服务器上,我使用SQLite数据库,因此这不是错误源).我正在使用前沿的Django 1.1svn.

输入问题:我想为用户使用Django自己的身份验证系统.

编写我自己的身份验证后端似乎很简单,但总是在你有一个本地数据库保存用户的条件下.没有数据库我的主要问题是持久性.

我尝试了以下(假设这datasource.get()是一个返回某种dict的函数):

class ModelBackend (object):
    """Login backend."""

    def authenticate (self, username=None, password=None):
        """Check, if a given user/password combination is valid"""

        data = datasource.get ('login', username, password)
        if data and data['ok']:
            return MyUser (username=username)
        else:
            raise TypeError
            return None

    def get_user (self, username):
        """get data about a specific user"""

        try:
          data = datasource.get ('userdata', username)
          if data and data['ok']:
              return data.user
        except:
            pass
        return None


class MyUser (User):
    """Django user who isn't saved in DB"""

    def …
Run Code Online (Sandbox Code Playgroud)

database authentication django

22
推荐指数
2
解决办法
1万
查看次数

标签 统计

authentication ×1

database ×1

django ×1