【问题标题】:AJAX, WCF, and Authentication woesAJAX、WCF 和身份验证问题
【发布时间】:2011-11-27 10:13:30
【问题描述】:

我正在开发一个不可公开访问的网站。也就是说,它在互联网上,但您必须登录才能访问该站点,您不能注册或任何东西,它为特定行业提供服务。

我们正在将我们的一些功能移动到移动网站,这是一个专门针对日常需求的真正精简版本,它适合屏幕尺寸,而无需缩放和滚动等。

这一切都很好。

该站点在某些区域相当健谈,而不是做 ASP.NET Post Backs,我们将使用 jQuery 做很多 AJAX,我们想做的是将一些任务卸载到其他服务器并提供用于获取/放置数据的 WCF 服务。

我的问题是,锁定这些 WCF 服务的最佳方法是什么,以便在初始网站之外无法访问它们,并且您必须登录才能接触它们。

我的想法是有一个处理程序,这是我们将从网站上接触的内容,处理程序将调用 WCF 服务,该服务只会暴露给我们的内部服务器。这意味着 WCF 服务不需要公开,但处理程序将在我们现有的域和现有的表单身份验证下。

如果有道理的话。

这是一种好方法吗,还是我应该使用时间戳和令牌来验证对公开 WCF 服务的请求。

编辑: WCF, RESTful Web Services and custom authentication

^这是我能找到的最接近我需要做的事情,但想知道是否有更好的解决方案来解决那些不是而且永远不会面向公众的事情。

【问题讨论】:

    标签: .net ajax wcf wcf-security


    【解决方案1】:

    使用 HTTP 模块,您可以将自定义身份验证添加到 IIS 托管的 WCF 服务。然后,您可以通过 HTTP 标头或查询参数实现 OAuth 2 Bearer token 保护。它本质上是在传递有时间限制的密码,所以你需要通过 https 来执行此操作,但它可以很容易地被 jQuery 或任何可以使用 https 的东西使用。该模块可以设置当前线程的 Principal 信息,您可以从 WCF 访问。

    有关 OAuth 2 的其余部分,请参阅 Facebook 的 Authentication

    【讨论】:

      猜你喜欢
      • 2010-11-17
      • 1970-01-01
      • 2011-10-25
      • 2016-02-03
      • 1970-01-01
      • 2011-04-07
      • 1970-01-01
      相关资源
      最近更新 更多