一、开发交互式的媒体应用程序

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学习笔记(验证用户)的更多相关文章

  1. [转载]FMS Dev Guide学习笔记(验证客户端二)

    一.开发交互式的媒体应用程序 1.使用unique key a. 在客户端ActionScript中创建一个unique key,如下代码所示,unique key的组成为本地电脑时间和一个随机数连接 ...

  2. FMS Dev Guide学习笔记(验证客户端)

    一.开发交互式的媒体应用程序 1.使用客户端对象的属性     当一个客户端连接上服务器上的一个应用,服务端就会创建一个包含这个客户端信息的客户端对象并且将它传递给application.onConn ...

  3. FMS Dev Guide学习笔记

    翻译一下其中或许对游戏开发有用的一个章节 一.开发交互式的媒体应用程序 1.共享对象(Shared objects)     ----关于共享对象     使用共享对象可以同步用户和存储数据.共享对象 ...

  4. FMS Dev Guide学习笔记(SharedBall)

    一.开发交互式的媒体应用程序1.共享对象(Shared objects) ----SharedBall example 这个SharedBall example创建了一个临时的远程共享对象.类似于多人 ...

  5. FMS Dev Guide学习笔记(权限控制)

    一.开发交互式的媒体应用程序 1.关于访问(权限)控制     当一个用户访问服务器的时候,默认情况下,他可以访问所有的流媒体文件和共享对象.但是你可以使用服务端ActionScript为流媒体文件和 ...

  6. FMS Dev Guide学习笔记(远程共享对象)

    一.开发交互式的媒体应用程序1.共享对象(Shared objects)    ----远程共享对象 在你创建一个远程共享对象之前,创建一个NetConnection对象并且连接到服务器.一旦你创建了 ...

  7. Django:学习笔记(9)——用户身份认证

    Django:学习笔记(9)——用户身份认证 User

  8. 【转载】.NET Remoting学习笔记(三)信道

    目录 .NET Remoting学习笔记(一)概念 .NET Remoting学习笔记(二)激活方式 .NET Remoting学习笔记(三)信道 参考:♂风车车.Net .NET Framework ...

  9. 【转载】.NET Remoting学习笔记(二)激活方式

    目录 .NET Remoting学习笔记(一)概念 .NET Remoting学习笔记(二)激活方式 .NET Remoting学习笔记(三)信道 参考:百度百科 ♂风车车.Net 激活方式概念 在访 ...

随机推荐

  1. (转)WebApi返回Json格式字符串

    原文地址:https://www.cnblogs.com/elvinle/p/6252065.html WebApi返回json格式字符串, 在网上能找到好几种方法, 其中有三种普遍的方法, 但是感觉 ...

  2. Linux线程池的实现

    线程池的实现 1:自定义封装的条件变量 //condition.h #ifndef _CONDITION_H_ #define _CONDITION_H_ #include <pthread.h ...

  3. Elasticsearch增删改查

    面向文档 document数据格式 应用系统的数据结构都是面向对象的,复杂的 对象数据存储到数据库中,只能拆解开来,变为扁平的多张表,每次查询的时候还得还原回对象格式,相当麻烦 ES是面向文档的,文档 ...

  4. vs2017配置文件目录

    C:\Users\Administrator\AppData\Local\Microsoft\VisualStudio\15.0_6d0a0a42

  5. Django中的ORM介绍,字段以及字段的参数。

    Object Relational Mapping(ORM) ORM介绍 ORM概念 对象关系映射(Object Relational Mapping,简称ORM)模式是一种为了解决面向对象与关系数据 ...

  6. day4----函数-闭包-装饰器

    本文档内容: 1 python中三种名称空间和作用域 2 函数的使用 3 闭包 4 装饰器 一 python中三种名称空间和作用域 1.1名称空间: 当程序运行时,代码从上至下依次执行,它会将变量与值 ...

  7. nodejs基础学习1

    ES6常用新语法 ES6新语法 什么是ES6? 由于JavaScript是上个世纪90年代,由Brendan Eich在用了10天左右的时间发明的:虽然语言的设计者很牛逼,但是也扛不住"时间 ...

  8. 按键显示按键编码 keycode

    <!doctype html> <html> <head> <meta charset="utf-8"> <title> ...

  9. 53.纯 CSS 创作一个文本淡入淡出的 loader 动画

    原文地址:https://segmentfault.com/a/1190000015305861 感想:关于两侧动画不在同一水平线上的原因是因为设置其多余高,旋转180度呈现的. HTML code: ...

  10. YARN label 特性 & 指定队列及label提交任务

    以下基于 hadoop版本 hadoop-2.8.4 给各个节点打标签 yarn rmadmin -addToClusterNodeLabels fastcpu,normal # 是否独占默认是tru ...