【问题标题】:WCF dataservice security in a WPF applicationWPF 应用程序中的 WCF 数据服务安全性
【发布时间】:2011-11-05 14:23:49
【问题描述】:

我正在开发一个解决方案,其中我有一个 WPF 项目,该项目使用位于另一个 ASP .NET 项目中的 WCF DataService 来访问数据。
我需要提供一定程度的安全性,以确保只有经过身份验证的用户才能访问该服务。在网上冲浪后,我已经打破了我的头,试图实现这一点。实现它的正确方法是什么?

【问题讨论】:

  • 创建用户令牌可能会有所帮助.. 你的问题很有趣 :)

标签: wpf wcf authentication dataservice


【解决方案1】:

我过去这样做过,WCF 的 Login 方法会创建一个用户对象,为用户对象分配一个 Token(在我的例子中,它是一个 GUID),并将其存储在 WCF 服务器内部的 @ 987654322@名单。

任何其他 WCF 调用都需要令牌作为参数。它将检查AuthenticatedUsers 列表中是否存在具有该令牌的用户,如果不存在具有该令牌的用户,则会返回错误。一个额外的好处是我总是知道是谁发出了 WCF 调用,而无需他们传递用户 ID。

我还在服务器上存储了带有用户对象的LastActivity DateTime。每个 WCF 调用都会刷新此值,并且如果 WCF 服务器上的 AuthenticatedUsers 列表具有至少一个值,则在服务器上运行一个计时器,它将检查 AuthenticatedUsers LastActivity 值并删除用户,如果他们一直处于非活动状态超过 20 分钟。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-06
    • 2012-02-13
    • 1970-01-01
    • 2017-01-20
    • 1970-01-01
    • 2013-09-23
    相关资源
    最近更新 更多