seafile4.3.1 + windows 2012 server +mysql 部署记录(2)

谁说我不能喝 提交于 2020-04-07 05:37:58

    要实现 LDAP 域登陆  ,因为需要使用多个域服务器登录(不同域账号分散) ,不知道怎么用自带的配置方法处理 ,所以自己修改了代码

   seahub / seahub / base / accounts.py 修改

def check_password(self, raw_password):
        """
        Returns a boolean of whether the raw_password was correct. Handles
        encryption formats behind the scenes.
        """
        # Backwards-compatibility check. Older passwords won't include the
        # algorithm or salt.

        # if '$' not in self.password:
        #     is_correct = (self.password == \
        #                       get_hexdigest('sha1', '', raw_password))
        #     return is_correct
        
        domain_list=["10.251.68.X","10.251.68.X","10.251.67.X","10.251.68.X","10.251.68.X"]
        for domain in domain_list : 
            l=ldap.initialize('ldap://'+domain+':389')
            l.protocol_version=ldap.VERSION2
            try:
                
                l.simple_bind_s(self.username,raw_password)#邮箱名与域账号一致
                return True
            except:
                logger.error("err");
        return False
        
        #return (ccnet_threaded_rpc.validate_emailuser(self.username, raw_password) == 0)


标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!