设置安全权限后服务调用问题(flex)

对发布的服务设置了安全性,指定了特定的角色,只允许角色所在用户能访问此服务,但在调用过程中发现服务不能正常加载,只能在rest地址右上角登录后才能加载,想了解下,在代码中应该如何来绑定用户,使服务能正常加载。
已邀请:

谢军

赞同来自:

【解决办法】:
在flex中访问设置了安全权限的服务,需要提供令牌。一种解决方法是将token嵌入在程序中,无需输入用户凭证,客户端体验很好,下面具体说一下这种方法的实现。token可由 http://gisserver.domain.com:6080/arcgis/tokens 获取,考虑到应用程序要被许多不同IP的用户访问,那么在生成token的时候,client选择HTTP Referer,在HTTP referer中填写flex应用程序所在机器的IP(最好设置长时效的token)。生成token后,在flex程序中地图服务的url可以按照的地图服务url?token=的方式编写,也可以把token作为地图服务的一个属性的方式添加(token=)。
     另外,有两点需要说明,一是利用http referer的client方式生成的token,直接在浏览器中输入地图服务url?token=是不能查看的,这个token只能用于程序中;二是需要为Flex Builder设置测试服务器,也就是说在运行flex程序后,在浏览器中显示的地址需要是http://的格式,而不能是file:///的格式。

要回复问题请先登录注册