ASP.NET MVC - 创建需要身份验证的RSS源

时间:2010-07-07 01:38:39

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

我在ASP.NET MVC中创建了一个基本的RSSActionResult,以根据我的电子商务商店中的新项目生成RSS提要 - 新项目,销售项目等。这部分很简单,效果很好。

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

  

不支持使用DTD的Feed

我正在尝试做甚么可能吗?任何指导都将非常感谢。

提前致谢,

JP

2 个答案:

答案 0 :(得分:4)

在我看来,私人RSS提供有点灰色,新闻专线和新闻阅读器的支持都很有限。例如,请阅读this

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

加上速率限制以防止猜测令牌,我认为这是一个可接受的解决方案。此外,用户可以为具有更高安全性的人启用和禁用此功能。

答案 1 :(得分:1)

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

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