您的位置:首页 > 其它

《Red5 用户参考手册》之十一:Red5 核心技术第四章 安全

2012-07-24 12:18 309 查看
官方最新《Red5 用户参考手册》全套下载地址

本文介绍了由版本 0.6 引入的保护对流或者共享对象的访问的 Red5 API,类似于由 Client.readAccess 和 Client.writeAccess 在 Macromedia Flash Communication Server / Flash Media Server 2 所提供的那样。

流安全

在 Red5 里对流的读访问(播放)和写访问(发布/录制)是分开保护的。

流播放安全

应用如果想要限制每个用户的数据流播放或者只想提供给用户指定名的流的访问,可以使用 Red5 的 IStreamPlaybackSecurity http://dl.fancycode.com/red5/api/org/red5/server/api/stream/IStreamPlaybackSecurity.html 接口。

这个接口可以由任意对象实现并在 ApplicationAdapter http://dl.fancycode.com/red5/api/org/red5/server/adapter/ApplicationAdapter.html 中进行注册。每个应用可以使用任意数量的流安全处理程序。即使仅有一个处理程序拒绝(客户端)对流的访问,客户端都会收到一个 description 属性带有一个相应的错误信息的 NetStream.Failed 错误。

一个仅仅允许(客户端)对名字以 liveStream 打头的流的访问的处理程序的例子如下所述:

import org.red5.server.api.IScope; 
import org.red5.server.api.stream.IStreamPlaybackSecurity; 
            
public class NamePlaybackSecurity implements IStreamPlaybackSecurity { 
            
    public boolean isPlaybackAllowed(IScope scope, String name, int start, 
     int length, boolean flushPlaylist) { 
         if (!name.startswith("liveStream")) { 
            return false; 
         } else { 
            return true; 
         } 
     };             
}


要把这个处理程序注册到应用中,应该在 appStart 方法里添加以下代码:

registerStreamPlaybackSecurity(new NamePlaybackSecurity());


Red5 含有一个实例处理程序,它拒绝所有对流的访问(DenyAllStreamAccess http://dl.fancycode.com/red5/api/org/red5/server/api/stream/support/DenyAllStreamAccess.html)。
流发布安全

在大多数允许用户发布和/或者录制流的应用里,必须对这一访问(写访问)进行限制以防止服务器被滥用。因此,Red5 提供了接口 IStreamPublishSecurityhttp://dl.fancycode.com/red5/api/org/red5/server/api/stream/IStreamPublishSecurity.html
来拒绝特定流的发布。

就像 IStreamPlaybackSecurity http://dl.fancycode.com/red5/api/org/red5/server/api/stream/IStreamPlaybackSecurity.html 那样,它也可以被任何对象实现并在 ApplicationAdapterhttp://dl.fancycode.com/red5/api/org/red5/server/adapter/ApplicationAdapter.html
中进行注册。如果注册的处理程序之一拒绝(客户端)访问,客户端会收到一个 description 属性带有一个相应的错误信息的 NetStream.Failed 错误。

一个只允许经过身份验证的连接发布名字以 liveStream 打头的流并拒绝其他访问的处理程序的例子如下所示:

原文链接:http://trac.red5.org/wiki/Documentation/UsersReferenceManual/Red5CoreTechnologies/04-Security
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐