none
请教一个IIS关于调用组件的权限问题 RRS feed

  • 问题

  • 最近我写了个调用SAPI的ASP代码,但是怎么调整都会显示 没有权限 代码如下

    <%
    world="1111111"
    FileName = "e:\void.wav"
    set v=server.createobject("SAPI.SpVoice")
    set s=server.createobject("SAPI.SpFileStream")
    s.Open FileName,3, True
    Set v.AudioOutputStream = s
    v.Speak world
    s.Close
    %>

    我调整的步骤如下

    打开目录安全的iuser_ <机器名>,打开读写权限,没有效果。
    吧iuser_ <机器名>加入到administrators用户组也没有效果。

    但是把这段代码改成VBS代码就能正常运行(运行该代码的用户也只是USERS用户组成员)

    把它改成ASP.NET的在studio 2005自带服务器里可以正常运行,到IIS里面就不能正常运行了说是没有权限
    ~但是已经把该目录的安全 everyone 都设成“完全控制”了。
    2009年10月30日 1:50

答案

  • 首先,你要明白,这个代码是在服务器端运行的。在实际的使用中,客户端访问和服务器端不在一个机器上,在服务器上播放声音(看代码猜测应该是播放音频文件)有什么作用呢?

    如果真的是这样的应用场景,你可以创建一个windows用户,并赋予SAPI相关的文件及其它所引用的文件足够的权限。进行测试,
    另外,还可以是 使用管理工具-组件服务进行权限的配置

    【孟子E章】
    2009年10月30日 4:39
    版主
  • crazy

    可以尝试在页面里调用cmd.exe ,然后用cmd.exe 运行这段代码。
    This posting is provided "AS IS" with no warranties, and confers no rights. Microsoft Online Community Support
    2009年11月3日 9:21
    版主

全部回复

  • 首先,你要明白,这个代码是在服务器端运行的。在实际的使用中,客户端访问和服务器端不在一个机器上,在服务器上播放声音(看代码猜测应该是播放音频文件)有什么作用呢?

    如果真的是这样的应用场景,你可以创建一个windows用户,并赋予SAPI相关的文件及其它所引用的文件足够的权限。进行测试,
    另外,还可以是 使用管理工具-组件服务进行权限的配置

    【孟子E章】
    2009年10月30日 4:39
    版主
  • 山无棱天地合,版主才敢不英明~

    版主明鉴

    Set v.AudioOutputStream = s
    v.Speak world

    据MSDN的例子说,AudioOutputStream指定了相关的变量后,speak出来的东西就到变量里了。然受再存上就OK了,但是没搞定啊~

    如果就是这个例题直接改成VBS文件,就运行得过~而且运行的用户也就是是USERS

    我好迷茫啊,版主明鉴

    我在管理工具的组件服务里,没有看到 speech api字样的东西,版主救我
    2009年10月30日 5:31
  • vbs运行账户应该是你当前的登录用户。我觉得,Microsoft Speech API (SAPI) 5.4这些东西是用在Windows程序中的,不是web下,发出的声音只能在服务器端听到
    【孟子E章】
    2009年10月30日 5:38
    版主
  • 在web服务器端程序里用 字符 生成 音频文件 不知道有其它什么方法没有啊?(不用大量修改服务器配置的,我的服务器WINDOWS2003 IIS6 .NET 2.0)

    谢谢版主
    2009年10月30日 6:18
  • 在web服务器端程序里用 字符 生成 音频文件 不知道有其它什么方法没有啊?
    和web不是web没有关系。
    只是web 程序运行有安全性限制,代码都是一样的。不修改服务器配置的话,你需要模拟一个权限很高的账户来运行
    【孟子E章】
    2009年11月1日 0:46
    版主
  • crazy

    可以尝试在页面里调用cmd.exe ,然后用cmd.exe 运行这段代码。
    This posting is provided "AS IS" with no warranties, and confers no rights. Microsoft Online Community Support
    2009年11月3日 9:21
    版主