使用SSPI通过Apache服务访问CVS

时间:2008-12-11 21:05:20

标签: python apache cvs sspi

我正在使用mod_python,Python 2.5和Django运行Apache服务器(v2.2.10)。我有一个小型的Web应用程序,它将显示我们在CVS中的当前项目,并允许用户构建不同的项目(构建检查项目,并复制某些文件,并删除源)。

在Django开发服务器上,一切正常。我可以在cvs,check out等中看到项目列表。在生产服务器(Apache one)上,我收到以下错误:

[8009030d]无法识别提供给包的凭据

我正在尝试使用SSPI登录CVS服务器。在shell中输入相同的命令将正确执行。

这是我正在使用的代码:


def __execute(self, command = ''):
        command = 'cvs.exe -d :sspi:user:password@cvs-serv.example.com:/Projects ls' 
        p = subprocess.Popen(command, stdout=subprocess.PIPE, stderr = subprocess.STDOUT, shell=True)
        return p.communicate()

我尝试了很多不同的东西,我似乎无法让它发挥作用。现在我相信Apache是​​罪魁祸首。

任何帮助将不胜感激

1 个答案:

答案 0 :(得分:0)

使用SSPI让我觉得你正在使用CVSNT,因此是一个Windows系统;您正在运行Apache的用户是什么?服务的默认用户是SYSTEM,它与当前用户不共享相同的注册表。