【问题标题】:ASP.NET MVC - Create RSS feed that requires authenticationASP.NET MVC - 创建需要身份验证的 RSS 提要
【发布时间】:2010-07-07 01:38:39
【问题描述】:

我在 ASP.NET MVC 中创建了一个基本的 RSSActionResult,用于根据我的电子商务商店中的新商品(新商品、销售商品等)生成 RSS 提要。这部分很简单,而且效果很好。

我想更进一步,创建一个用户特定的提要。例如 - 根据用户之前的购买历史向他们展示他们感兴趣的新产品。此提要是特定于用户的,通常必须登录到他们的帐户(asp.net 会员资格)才能查看此信息。我的问题是,会员资格如何在 RSS 级别上工作?在 MVC 中,我可以轻松地创建一个操作过滤器,该过滤器要求用户登录到站点才能订阅提要,但我不确定这在提要阅读器中是否可行。当我在 IE8 的内置阅读器中查看提要并且未登录我的帐户时,我收到以下消息:

不支持带有 DTD 的提要

我正在尝试做的甚至可能吗?任何指导将不胜感激。

提前致谢,

日本

【问题讨论】:

    标签: asp.net-mvc asp.net-mvc-2 rss


    【解决方案1】:

    在我看来,私人 RSS 提要有点灰色地带,来自新闻专线和新闻阅读器的支持都是有限的。例如,阅读this

    SO question 讨论了实现此类服务的各种方法。为了 100% 兼容,我只需为每个客户生成一个唯一令牌并让他们订阅它。考虑到实际的私人信息没有暴露(我们不会进入去匿名化讨论),我认为这已经足够了。

    加上速率限制以防止猜测令牌,我认为这是一个可以接受的解决方案。此外,对于那些更注重安全的用户,用户可以启用和禁用此功能。

    【讨论】:

      【解决方案2】:

      我从未尝试过使用 RSS,但您是否尝试过使用“授权属性”

          [Authorize(Users="Stephen")]
          public RSSActionResult StephenRss()
          {
              return View();
          }
      

      【讨论】:

      • 如果使用表单身份验证方法,这只会将 RSS 阅读器重定向到您的登录表单。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-03-18
      • 2010-10-01
      • 2010-10-04
      • 2014-03-10
      • 1970-01-01
      • 1970-01-01
      • 2013-05-17
      相关资源
      最近更新 更多