使用MoinMoin进行Ldap(AD)身份验证不起作用

时间:2013-03-04 05:15:32

标签: authentication ldap openldap moinmoin

我正在尝试将MoinMoin与我的AD服务器连接,但它不起作用。我的意思是,我尝试使用我的域帐户登录,我没有收到任何错误(如果我尝试使用以前创建的超级用户帐户登录,我会收到用户名或密码错误的错误),但我还不是登录。如果我关注MoinMoin/auth/ldap_login.py中的代码,我会获得正确的凭据。我是否正确地进行了设置?我在FreeBSD 9.1上使用MoinMoin 1.9.6和python 2.7而没有安装MoinMoin(即我只从存档中提取文件并运行wikiserver.py)。

在这里,我向您展示了我的wikiconfig_local.py:

from wikiconfig import LocalConfig
from MoinMoin.auth.ldap_login import LDAPAuth

class Config(LocalConfig):
    superuser=[u"IshayahuLastov",]
    page_front_page=u"MyWiki"
    ldap_authenticator1 = LDAPAuth(
        server_uri='ldap://192.168.1.9',
        bind_dn='Ishayahu@meoc.mjcc.local',
        bind_pw = 'mypassword',
        base_dn='dc=meoc,dc=mjcc,dc=local',
        scope=2, # scope of the search we do (2 == ldap.SCOPE_SUBTREE)
        referrals=0, # LDAP REFERRALS (0 needed for AD)
        search_filter='(sAMAccountName=%(username)s)'
        givenname_attribute=None,
        surname_attribute=None,
        aliasname_attribute=None, 
        email_attribute=None, 
        email_callback=None, 
        coding='utf-8',
        timeout=10, 
        start_tls=0, 
        tls_cacertdir='',
        tls_cacertfile='',
        tls_certfile='',
        tls_keyfile='',
        tls_require_cert=0, 
        bind_once=False,
        )
    auth = [ldap_authenticator1, ] 
    cookie_lifetime = 1 # 1 hour after last access ldap login is required again
    user_autocreate = True

2 个答案:

答案 0 :(得分:1)

如果您使用A.D,请使用'(uid =%(username)s)'而不是search_filter ='(sAMAccountName =%(username)s)'  并告诉

答案 1 :(得分:0)

您为LDAPAuth()提供的值可能有问题。

要调试它,为MoinMoin.auth启用调试日志记录会很有帮助(请参阅moin下载存档中包含的日志记录配置示例)。

您也可以尝试使用带有类似参数的ldapsearch命令行工具,只是为了检查一下如何让它工作。