加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

flash – WCF中基于令牌的身份验证

发布时间:2020-12-15 07:28:13 所属栏目:百科 来源:网络整理
导读:我正在创建一个包含ASP.NET页面和Flash小程序的网站.我希望将我的业务逻辑封装在WCF服务中,该服务将通过两个端点公开:一个可通过HTTP(S)访问Internet,供Flash客户端使用,另一个可在数据中心内访问,供应用程序服务器使用.如果这似乎不是一个好方法,那么请阻
我正在创建一个包含ASP.NET页面和Flash小程序的网站.我希望将我的业务逻辑封装在WCF服务中,该服务将通过两个端点公开:一个可通过HTTP(S)访问Internet,供Flash客户端使用,另一个可在数据中心内访问,供应用程序服务器使用.如果这似乎不是一个好方法,那么请阻止我;否则,我会继续……

问题是如何验证来自Flash客户端的请求.由于我不想将用户的密码存储在浏览器cookie中,因此不希望每次请求都发送密码,并且不希望在初次登录后使用HTTPS,我打算使用令牌 – 基于认证系统.我也不希望用户在登录网站后必须登录Flash客户端,因此我计划在启动时使用Javascript将令牌传递给Flash客户端.

我知道WCF支持使用.NET Framework的内置安全框架(System.Security)来强制实施访问控制,我想利用这一点.

那么问题是:如何在Flash调用令牌时将令牌传递给WCF服务,以及如何在服务器上处理令牌?

> WCF具有“已颁发令牌”身份验证模式,但看起来这应该用于具有安全令牌服务和SAML令牌的完整联合方案 – 这是我真正想要的复杂性.可以将此模式与我自己的“简单随机字符串”令牌一起使用吗?如果是这样,怎么样?请记住,这需要与Flash兼容.
>我可能会在标头中传递令牌(SOAP标头或HTTP标头).在这种情况下,一旦我确定了哪个用户正在发出请求,我该如何通知框架以便System.Security检查能够正常工作?
>我应该考虑采用不同的方法吗?任何避免在每个请求中发送密码的东西,让我使用System.Security,并且可以使用Flash.

解决方法

由于看起来原始问题已得到解答,我将保持这一简短,但一种方法确实是在http标头中传递身份验证令牌并在自定义ServiceAuthorizationManager中覆盖CheckAccess(OperationContext operationContext,ref Message message).

您之前已将服务配置为使用实现IAuthorizationPolicy的自定义策略.

剩下的就是实现简单的IIdentity和IPrincipal类来存储您的授权状态.

关于这个主题有很多好文章:

http://msdn.microsoft.com/en-us/library/system.identitymodel.policy.iauthorizationpolicy.aspx

http://msdn.microsoft.com/en-us/library/system.servicemodel.serviceauthorizationmanager.aspx

我想这可能仍然像是一种“自己动手”的解决方案,但是当你遵循既定的模式时,它至少会令人放心.它确实具有从您的服务方法中对您的授权代码进行黑名单的优势.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读