我通过wmformat进行push模式下的网络直播时一直无法直播成功,一直报无权限,只有当我将wms发布点授权中的guest权限全部打开(允许 写、读、创建)都打开后才能正常进行网络直播,可这样存在非常大的安全问题,所有知道的人都能连上流媒体服务器进行网络直播了,这个说明我是以guest身份进行网络直播的,其实我是知道管理员密码的,我想能不能以其他管理员身份登入进行网络直播而不通过guest身份进行,这样只要我管理好用户与密码就能正常的在流媒体服务器上进行push模式下的网络直播了。可我查了很多文档,都没有找到这方面的一点帮助,真是郁闷啊!
不知道哪位大侠能够给予帮助啊!万分感谢!

解决方案 »

  1.   

    需要设置登录插件。设置完之后用IWMSPublishingPoint::get_Authenticators可以获得。
    如果你用Windows身份验证的话,需要impersonation。
    参考http://social.technet.microsoft.com/Forums/en-US/winserverManagement/thread/86480092-d3ac-4a89-bab0-f1b00a8e10e8
      

  2.   

    非常感谢jiangsheng 大侠的帮助,不过我还是不太清楚,能不能再说的明白些吗?谢谢
      

  3.   

    不知道有没有人使用过wmvnetwrite这个例子进行网络直播,我就是根据它来完成网络直播的,不过这个例子在备注中就明确说到了这个例子在需要用户验证的情况下就无法进行直播,也就是流媒体服务器没有everyone的权限全部放开的情况下无法直播!它的描述原句为:
    REMARKS:  -This sample is not able to stream protected Windows Media files.
      -Push distribution to servers requiring authentication is not supported in this sample.郁闷啊!我试着通过dcom去更改这个权限,可到了通过接口IDispatch获取IWMSACLCheckAdmin接口时出现无权限操作的错误,之前我已经通过CoSetProxyBlanket进行了服务器用户身份代理设置!之前的所有操作都能正常通过,直至获取上边的那个接口就出问题了!哪位大侠能帮忙解决一下啊!!
      

  4.   

    http://www.microsoft.com/windows/windowsmedia/forpros/server/faq.aspx
      

  5.   

    我搜过了
    只有一下相关内容里边有
    Can I use Windows Media Services on a domain controller?
    Why can't Windows Media Services Administrator for the Web display the server list?
    How do I prevent unauthorized access to my content?
    可里边并没有介绍啊!
      

  6.   

    看How do I prevent unauthorized access to my content?那一段
      

  7.   

    How do I prevent unauthorized access to my content?
    如何阻止未被授权地访问我的内容?这个是用来实现视频点播的吧!并不是解决我需要的网络直播时推数据到服务器时无权限的问题。我现在是进行网络直播,也就是我需要将我的内容推到流媒体服务器上,现在的问题就是我没有权限去推,就算我有服务器管理员用户名和密码,我也无法进行推的操作,流媒体服务器一直是用everyone的身份对我进行校验的,所以我必须开开everyone可写与可创建的权限,现在我通过dcom设置的方式已经只需将everyone的权限设成可写,不再需要创建的权限了,这样安全级别相对高了点!现在不知道还有没有什么方法不需要我再去设置everyone的权限(这个是最佳的方案),或者通过程序开放流媒体服务器在wms发布点授权中的everyone的写的权限(这样最起码可以不让用户知道你需要做一个这么恶心的操作,典型的阿Q精神)我之前试着通过dcom去试着更改这个权限,通过CoSetProxyBlanket进行了服务器用户身份代理设置后,我已经能拿IWMSServer的IWMSPlugins、WMS 发布点 ACL 授权的IWMSPlugin、IDispatch接口,可当我再运行pDispatch->QueryInterface(IID_IWMSACLCheckAdmin, (void**)&pACLCheckAdmin)时就出现了无权限的错误,之前我所获的所有接口我都通过CoSetProxyBlanket设置了用户身份代理,否则早就由于无权限的退出去了,可在获取IWMSACLCheckAdmin接口时它就没有效果了,没有权限了。不知道我描述的是否清楚,希望哪位知道的大侠帮帮解决这个棘手的问题啊!万分感谢
      

  8.   

    hr = pPlugin->get_CustomInterface(&pDispatch);
    if (FAILED(hr)) goto EXIT;hr = CoSetProxyBlanket(pDispatch, 
    RPC_C_AUTHN_WINNT, 
    RPC_C_AUTHZ_NONE, 
    NULL, 
    RPC_C_AUTHN_LEVEL_DEFAULT,//RPC_C_AUTHN_LEVEL_CALL, 
    RPC_C_IMP_LEVEL_IMPERSONATE, 
    pAuthIdentity, 
    EOAC_NONE 
    ); 
    if (FAILED(hr)) break;// Call QueryInterface() to retrieve a pointer to the
    // IWMSACLCheckAdmin interface.
    hr = pDispatch->QueryInterface(IID_IWMSACLCheckAdmin, (void**)&pACLCheckAdmin);
    if (FAILED(hr)) goto EXIT; (此处报无权限退出)
      

  9.   

    administrator 管理员的账户登录的
      

  10.   

    你的插件用的什么登录方式?
    看看http://msdn.microsoft.com/en-us/library/ms782345(VS.85).aspx
      

  11.   

    我查看了服务器上的日志,好像我确实是拿到了administrator的身份登录的有4条记录,其中:73A1057C7B5D429为我本机电脑名称,COMPUTER为服务器名称。记录1
    尝试登录的用户:  MICROSOFT_AUTHENTICATION_PACKAGE_V1_0
     登录帐户:   administrator
     源工作站:  73A1057C7B5D429
     错误代码:  0x0记录2:
    指派给新登录的特殊权限:
      用户名: Administrator
      域: COMPUTER
      登录 ID: (0x0,0x1C876378)
      特权: SeSecurityPrivilege
    SeBackupPrivilege
    SeRestorePrivilege
    SeTakeOwnershipPrivilege
    SeDebugPrivilege
    SeSystemEnvironmentPrivilege
    SeLoadDriverPrivilege
    SeImpersonatePrivilege记录3:
    成功的网络登录:
      用户名: Administrator
      域: COMPUTER
      登录 ID: (0x0,0x1C876378)
      登录类型: 3
      登录过程: NtLmSsp 
      身份验证数据包: NTLM
      工作站名: 73A1057C7B5D429
      登录 GUID: -
      调用方用户名: -
      调用方域: -
      调用方登录 ID: -
      调用方进程 ID: -
      传递服务: -
      源网络地址: 192.168.0.110
      源端口: 1592记录4:
    用户注销:
      用户名: Administrator
      域: COMPUTER
      登录 ID: (0x0,0x1C876378)
      登录类型: 3