MS IIS 5.0上的CGI问题-尝试访问其他计算机上的文件
问候, 我正在制作CGI程序,该程序将根据MS IIS 5.0运行,并且将 在其他三台机器上浏览文件夹,构建HTML页面 提供这些文件夹的链接. 本质上,CGI将依次连接到每台机器,执行 基于当前标准FindFirst/FindNext过程. 它会 选择某些文件/文件夹,然后构建一个HTML页面. 前提很好. 如果我从命令行运行程序,则 似乎工作正常,我将我的HTML代码删除. 我可以复制代码 进入单独的文件,将其打开在浏览器中,所有内容都显示正确 与世界. 但是,当我尝试从浏览器本身运行CGI时,我得到了全部 一些问题. 我得到的第一个是1312,"指定的登录 会话不存在. 它可能已经终止了." 进行一些搜索,我开始调查记录的模仿 在用户上. 这会产生不同的错误:1314,"必需的特权 不是客户持有的." 所涉及的代码和我将得到的输出: - - - - -开始 - - - - - 班级冒充: def __init __(自我,登录,密码): self.domain ='4Q9ND21' self.login =登录 self.password =密码 self.handel =无 def登录(self): tracelist.Append("模仿登录步骤0") win32security.reverttoself()#终止模仿 tracelist.Append("模仿登录步骤1") self.handel = win32security.logonuser(self.login,self.domain, self.password,win32con.logon32_logon_interactive, win32con.logon32_provider_default) tracelist.Append("模仿登录步骤2") win32Security.ImpersonatEloggedonuser(self.handel) tracelist.Append("模仿登录步骤完成") def logoff(self): win32security.reverttoself()#终止模仿 如果self.handel!=无: self.handel.close()#保证清理 - - - - - 结尾 - - - - - - 我用以下执行此代码 - - - - -开始 - - - - - 模仿=模仿('pythountest','pythontest') 尝试: tracelist.append("即将尝试模仿") imponate.logon() tracelist.append("模仿没有异常") b = awadprivilege(se_system_profile_name) b = awadprivilege(se_tcb_name) 尝试: tracelist.append(" win32api.getusername =" + win32api.getusername()) #打印win32api.getusername()#show是其他人 最后: 模仿. 除了: a ="模仿登录错误:%s%s"%(sys.exc_type,sys.exc_value) tracelist.append(a) #打印sys.exc_type,sys.exc_value - - - - - 结尾 - - - - - - 当我运行此代码时,我的Tracelist出来了 - - - - -开始 - - - - - 2005-09-15 16:43:37 即将尝试模仿 模仿登录步骤0 模仿登录步骤1 模仿登录错误:pywintypes.error(1314,'logonuser',' 特权不由客户持有.") - - - - - 结尾 - - - - - - 我正在用Python 2.4和Windows扩展名进行编码. 我有一个 在IIS下运行的Python中的其他CGI程序数量 正确, 但是这些只能访问数据库. 我要的那个 组合是第一个实际进行文件搜索的方法. 我已经在IIS框上设置了登录帐户的特权 se_tcb_name,se_change_notify_name和se_assignprimarytoken_name和 重新启动. 无济于事. 我不确定还有其他 是否需要对安全策略进行更改. 再说一次,我不是大师. 如果有人能给我更多的信息/指导,我会很大 感谢它. 如果您需要我的更多信息,我会尽力而为 提供它. 蒂亚, 保罗