【问题标题】:Access CVS through Apache service using SSPI使用 SSPI 通过 Apache 服务访问 CVS
【发布时间】:2008-12-11 21:05:20
【问题描述】:

我正在使用 mod_python、Python 2.5 和 Django 运行 Apache 服务器 (v2.2.10)。我有一个小型网络应用程序,它将显示我们在 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 是罪魁祸首。

任何帮助将不胜感激

【问题讨论】:

    标签: python apache cvs sspi


    【解决方案1】:

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

    【讨论】:

    • 啊,是的,我忘了说我使用的是 Windows XP。我试图让 Apache 使用它正在运行的计算机的登录名,这可以解释 SSPI 身份验证错误。我会看看我是否可以让服务在另一个用户下运行。
    猜你喜欢
    • 2014-02-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-01-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多