2010-10-15 59 views
0

我目前正在桌面Flex应用程序的规划/早期构建阶段,该应用程序将与Web服务器上的Zend应用程序进行通信。桌面Flex应用程序登录系统

flex应用程序基本上就像MVC模式的布局/视图一样,它会向各种控制器操作发出请求,并以有意义的方式显示返回的数据,并发布将更新各种数据的数据数据库在服务器上。

基本上我想知道的是最好的方法是建立一个桌面应用程序的登录系统。但愿我是正确的假设,我不能使用,你会如果你的用户是通过浏览器访问应用程序的正规渠道,所以我想我会做到这一点:

  1. Flex应用程序的帖子登录信息(电子邮件,密码)登录操作
  2. 登录操作使用Zend Auth检查细节是否有效
  3. 登录操作创建一个唯一的哈希(并将其存储在数据库中,连同用户的ID一起)以及将包含散列和用户ID的json对象返回给flex应用程序
  4. 只要Flex应用程序向Web a中的任何操作发出请求pp,它还会发送用户的ID和唯一散列,以便Web应用程序可以验证用户。

这是否有意义,还是我在这里吠错了树?

让我知道你的想法,以及是否有更好的解决方案,我应该看看。

谢谢!

回答

1

是的,它是有道理的,你在做什么,我建立了一个类似的系统,但在这种情况下,我使用基本身份验证,这样,当我发送的HTTPService到服务器,包括我对哈希(令牌)头。

我使用的是由他发给我一个令牌,当我做一个登录动作同事建立了一个API。

,我送看起来像这样的头信息:

myHttpService.headers = {Authorization:"Basic " + encoderString}; 

的encoderString变量使用用户名和令牌,当我登录的服务器返回给我做,我用这些变量来创建encoderString :

var encoder:Base64Encoder = new Base64Encoder(); 
var encoderString:String;  

encoder.encode(login+":"+token); 
encoderString=Basics.encoder.toString(); 
1

查找到Apache Shiro,这是一个非常酷的,简单易用,需要极少的依赖性,很少配置安全库,并且不给一个叱你是否正在构建一个老同学的HTML应用程序时,Flex丰富的CLI ent web应用程序或桌面Flex/AIR(甚至Swing)应用程序。

相关问题