我正在使用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是罪魁祸首。
任何帮助将不胜感激
答案 0 :(得分:0)
使用SSPI让我觉得你正在使用CVSNT,因此是一个Windows系统;您正在运行Apache的用户是什么?服务的默认用户是SYSTEM,它与当前用户不共享相同的注册表。