您是否将所有登录,帐户创建,密码恢复等构建到您的Flex应用程序中,或者您是否将所有这些内容保存在网页中并且仅在成功登录时重定向到.swf?
答案 0 :(得分:2)
我们这样做的方式是
1)Flex前端通过远程对象与Web服务器上的Java Facade通信。
爪哇:
public class AdminServer {
//injected into contr..
private final LdapService ldapService;
public UserDisplay authenticate(String username, String password) {
return ldapService.authenticate(username,password);
}
}
2)Ldap身份验证和异常处理
java然后通过委托方法(左侧)调用ldap服务器,填充UserDisplay对象,并始终返回,其状态表示成功/失败/异常,并且 用户的身份验证级别。你可以这样做。
3)然后我们在Spring / config中将AdminServer公开为flex目标:
destination =“adminServer”(下面)与spring config(上面)中的bean id匹配非常重要。
4)在弹性代码中 ..
5)使用AMFSecureChannel 要防止密码从flex-> java中以明文形式发送,您还需要在flex配置文件中使用AMFSecure通道,方法是将其设置为默认值。
6)使用Ldap证书和密钥库来保护通信java-> ldap
java的东西应该有ldap证书用于加密,在我们的例子中,这意味着在服务器(Tomcat)上配置一个密钥库(参见java keytool)文件,并在ORDER中导入以下内容:
如果您不遵守此订单,则不会导入您的公钥/私钥
7)密钥库文件的位置
这个文件放在〜/ .keystore中,自动被tomcat选中。你的服务器可能会有所不同。
8)使用网络服务器安全端口 最后,我们必须取消注释server.xml配置中的tomcat https,以允许安全通道在端口8443上工作。
然后我们可以输入: https://www.oursite.com:8443/ourcontext/login.html
并获得安全通信。
答案 1 :(得分:1)
我接近完成了一个具有Drupal后端的中型Flex应用程序。我已经使用RemotObjects通过AMFPHP与drupal谈论所有登录和验证例程。我重定向到HTML的唯一方法是实际的新用户注册。不过事先知道Drupal,Flex和AMFPHP一起打得很好,这让决定变得更容易了!
答案 2 :(得分:1)
我们在一个非常复杂的应用程序中使用Flex完成所有操作,没有理由转向HTML。如果您使用AMF将Flex(无状态)HTTP与后端进行对话,那么无论如何都需要在Flex中提供会话支持。
答案 3 :(得分:1)
我们使用HTML / JavaScript进行登录页面并使用AJAX服务调用。在用户成功通过身份验证之前,我们永远不会触及我们的Flex .swf代码。此页面也是我们验证Flash播放器存在的位置,以及是否足以运行我们的Flex代码。
在服务器端,我们使用的是Tomcat,BlazeDS和Spring-Framework。我们有Spring控制器将任何未经身份验证的尝试访问 - BlazeDS远程调用等 - 转移到登录页面。我们使用Spring安全性来管理身份验证和用户角色权限(这曾经被称为Acegi安全性,但它已合并到Spring的保护伞下)。
我们曾经尝试在Flex中进行登录页面,但由于一些奇怪的焦点错误而放弃了。我们无法始终可靠地将重点放在登录凭据编辑字段中。论坛透露,首次访问Flex表单存在一个已知的焦点问题。
对于用户登录体验,我们绝对希望确保焦点表现良好。第一印象是持久的印象。
答案 4 :(得分:0)
通过flash(普通网络服务器)与服务器进行通信非常容易。如果你不与服务器进行大量的数据交换,AMF可能会过度,JSON,XML或你自己的格式就足够了。
http://livedocs.adobe.com/flash/9.0/ActionScriptLangRefV3/flash/net/URLLoader.html
http://livedocs.adobe.com/flash/9.0/ActionScriptLangRefV3/flash/net/URLRequest.html
编辑:我的意思是不要说闪光灯,而不是弯曲。