我正在创建一个django应用程序,它需要根据我们组织的LDAP服务器进行身份验证,我已经使用django-auth-ldap成功地完成了这项工作。在身份验证之后,我需要根据本地数据库授权每个经过身份验证的用户,以检查他们是否具有使用应用程序的权限。我该怎么做呢?我试图浏览django-auth-ldap的文档,但是找不到任何相关的东西。
发布于 2014-03-08 03:59:37
在您的登录视图中,我将检查本地数据库,并在用户通过身份验证后以编程方式添加权限,请参见https://docs.djangoproject.com/en/dev/topics/auth/default/#topic-authorization
if user.is_active:
login(request, user)
#your code to query database and add permissions
_check_and_set_permissions(request)
return redirect('login_success')如果需要检查的数据库与指定供Django ORM使用的数据库不同
DATABASES = {
'default': {
'NAME': 'DEMODATABASE',
'ENGINE': 'sqlserver_ado',
'HOST': '127.0.0.1',
}
}然后,只需使用您喜欢的驱动程序/SQL表达式语言(pymssql、SA、pyMySQLdb等)创建到数据库的连接。并查询包含所需权限的表。
https://stackoverflow.com/questions/21192859
复制相似问题