[转载]FMS Dev Guide学习笔记(验证用户)
一、开发交互式的媒体应用程序
1.使用外部资源验证用户
对于有限数量的客户,请求用户名密码,然后通过外部资源(像数据库、LDAP服务或其它访问授权服务)验证它们,是可行的.
a.SWF在请求连接的时候提供用户名和密码
通过客户端Actionscript,客户端提供token或者用户名和密码:
var sUsername = "someUsername";
var sPassword = "somePassword";
nc.connect("rtmp://server/secure1/", sUsername, sPassword);
b.FlashMediaServer通过第三方系统验证用户名和密码
你可以使用如下类来从服务端Actionscript访问外部资源:WebService、LoadVar、XML classes、NetServices(Flash Remoting).参见Server-Side ActionScript Language Reference以获取更多关于这些类的信息.关于FlashRemoting请参见http://www.adobe.com/go/learn_fms_flashremoting_en.
load("NetServices.asc"); // for Flash remoting
load("WebServices.asc"); // for SOAP web services
pendingConnections = new Object();
application.onConnect = function( pClient, pUsername, pPassword ) {
// create a unique ID for the client
pClient.FMSid = application.FMSid++;
// place the client into a pending array
pendingConnections[FMSid] = pClient;
if (pUsername!= undefined && pPassword !=undefined) {
// issue the external call (3 examples below)
loadVars.send("http://xyz.com/auth.cfm");
webService.authenticate(FMSid, pUsername, pPassword);
netService.authenticate(FMSid, pUsername, pPassword);
}
// the result handler (sample only, you will have to customize this)
// this command will return a true/false and the FMS client id
Authenticate.onResult = { }
c.FlashMediaServer接受或者禁止这个连接
loadVars.onData = function ( FMSid, pData ) {
if (pData) {
application.acceptConnection( pendingConnections[FMSid] );
delete pendingConnections[FMSid];
} else {
application. rejectConnection ( pendingConnections[FMSid] );
delete pendingConnections[FMSid];
}
}
[转载]FMS Dev Guide学习笔记(验证用户)的更多相关文章
- [转载]FMS Dev Guide学习笔记(验证客户端二)
一.开发交互式的媒体应用程序 1.使用unique key a. 在客户端ActionScript中创建一个unique key,如下代码所示,unique key的组成为本地电脑时间和一个随机数连接 ...
- FMS Dev Guide学习笔记(验证客户端)
一.开发交互式的媒体应用程序 1.使用客户端对象的属性 当一个客户端连接上服务器上的一个应用,服务端就会创建一个包含这个客户端信息的客户端对象并且将它传递给application.onConn ...
- FMS Dev Guide学习笔记
翻译一下其中或许对游戏开发有用的一个章节 一.开发交互式的媒体应用程序 1.共享对象(Shared objects) ----关于共享对象 使用共享对象可以同步用户和存储数据.共享对象 ...
- FMS Dev Guide学习笔记(SharedBall)
一.开发交互式的媒体应用程序1.共享对象(Shared objects) ----SharedBall example 这个SharedBall example创建了一个临时的远程共享对象.类似于多人 ...
- FMS Dev Guide学习笔记(权限控制)
一.开发交互式的媒体应用程序 1.关于访问(权限)控制 当一个用户访问服务器的时候,默认情况下,他可以访问所有的流媒体文件和共享对象.但是你可以使用服务端ActionScript为流媒体文件和 ...
- FMS Dev Guide学习笔记(远程共享对象)
一.开发交互式的媒体应用程序1.共享对象(Shared objects) ----远程共享对象 在你创建一个远程共享对象之前,创建一个NetConnection对象并且连接到服务器.一旦你创建了 ...
- Django:学习笔记(9)——用户身份认证
Django:学习笔记(9)——用户身份认证 User
- 【转载】.NET Remoting学习笔记(三)信道
目录 .NET Remoting学习笔记(一)概念 .NET Remoting学习笔记(二)激活方式 .NET Remoting学习笔记(三)信道 参考:♂风车车.Net .NET Framework ...
- 【转载】.NET Remoting学习笔记(二)激活方式
目录 .NET Remoting学习笔记(一)概念 .NET Remoting学习笔记(二)激活方式 .NET Remoting学习笔记(三)信道 参考:百度百科 ♂风车车.Net 激活方式概念 在访 ...
随机推荐
- Linux性能优化 第三章 性能工具:系统内存
3.1内存性能统计信息 3.1.1 内存子系统和性能 和CPU相比,内存的读写速度都大大落后于CPU.为了弥补这个差距,通常CPU会采用高速缓存的机制(高cache). 3.1.2 内存子系统(虚拟存 ...
- solr defType查询权重排序
Solr的defType有dismax/edismax两种,这两种的区别,可参见:http://blog.csdn.net/duck_genuine/article/details/8060026 下 ...
- vue 整合element-ui
本文主要介绍如何在vue框架中结合elementUI. 本文主要参考: http://element-cn.eleme.io/#/zh-CN/component/quickstart 1.阅读本文 ...
- MySQL 可以用localhost 连接,但不能用IP连接的问题
连接问题 由于数据库配置的问题,当我们用ip连接数据库时,会出现连接不上的情况,而用localhost连接则没有任何的问题.解决方法: mysql安装完后,默认是root用户,root用户只能在服务器 ...
- c#上传文件并将word pdf转化成txt存储并将内容写入数据库
c#上传文件并将word pdf转化成txt存储并将内容写入数据库 using System; using System.Data; using System.Configuration; using ...
- 关于 jquery+ajax向asp.net传递json的问题研究(呕心沥血、柳暗花明)
第一种方法:字典的方法 //质检不合格 $('#Button3').click(function () { if (!confirm('确定质检不合格吗?')) return; var obj = n ...
- asp:Repeater控件使用
Repeater控件和DataList控件,可以用来一次显示一组数据项.比如,可以用它们显示一个数据表中的所有行. Repeater控件完全由模板驱动,提供了最大的灵活性,可以任意设置它的输出格式.D ...
- 浅析STM32之usbh_def.H
[温故而知新]类似文章浅析USB HID ReportDesc (HID报告描述符) 现在将en.stm32cubef1\STM32Cube_FW_F1_V1.4.0\Middlewares\ST\S ...
- nginx配置资源缓存
缓存nginx服务器的静态文件.如css,js,htm,html,jpg,gif,png,flv,swf,这些文件都不是经常更新.便于缓存以减轻服务器的压力. 打开配置文件/usr/local/ngi ...
- 一次ssh远程不能登录的排查
原创文件,欢迎阅读,禁止转载. 今天发现一台主机不能远程了,ssh连接不上了. 排查过程是这样的:1. ping没问题. 2. 通过telnet看端口是否开启.[user@localhost ~]$ ...