代码之家  ›  专栏  ›  技术社区  ›  Alex Jillard

使用sspi通过apache服务访问cvs

  •  0
  • Alex Jillard  · 技术社区  · 16 年前

    我正在运行一个Apache服务器(2.2.10版),其中包含mod_python、python 2.5和django。我有一个小的web应用程序,它将显示我们在cvs中的当前项目,并允许用户构建不同的项目(构建会签出该项目,并复制某些文件,去掉源代码)。

    在Django Dev服务器上,一切正常。我可以在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()
    
    

    我尝试过很多不同的方法,但似乎都没能成功。现在我认为阿帕奇是罪魁祸首。

    任何帮助都将不胜感激

    1 回复  |  直到 16 年前
        1
  •  0
  •   rob    16 年前

    使用sspi让我觉得您使用的是cvsnt,因此是一个Windows系统;您运行apache的用户是什么?服务的默认用户是System,它与当前用户不共享同一注册表。