0

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

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

[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 是罪魁祸首。

任何帮助,将不胜感激

4

1 回答 1

0

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

于 2008-12-11T22:28:00.200 回答