我在ASP.NET MVC中创建了一个基本的RSSActionResult,以根据我的电子商务商店中的新项目生成RSS提要 - 新项目,销售项目等。这部分很简单,效果很好。
我想更进一步,创建一个特定于用户的Feed。例如 - 根据用户之前的购买历史向用户展示感兴趣的新产品。此订阅源是特定于用户的,并且通常必须登录其帐户(asp.net成员资格)才能查看此信息。我的问题是,会员如何在RSS级别上工作?在MVC中,我可以轻松创建一个动作过滤器,要求用户登录到站点以订阅源,但我不确定在源阅读器中是否可以这样做。当我在IE8的内置阅读器中查看提要但未登录到我的帐户时,我收到以下消息:
不支持使用DTD的Feed
我正在尝试做甚么可能吗?任何指导都将非常感谢。
提前致谢,
JP
答案 0 :(得分:4)
在我看来,私人RSS提供有点灰色,新闻专线和新闻阅读器的支持都很有限。例如,请阅读this。
本SO question讨论了实现此类服务的各种方式。为了100%兼容,我会为每个客户生成一个唯一的令牌,让他们订阅它。考虑到没有公开实际的私人信息(我们不会进行去异化讨论),我认为这已经足够了。
加上速率限制以防止猜测令牌,我认为这是一个可接受的解决方案。此外,用户可以为具有更高安全性的人启用和禁用此功能。
答案 1 :(得分:1)
我从未尝试使用RSS,但您是否尝试过使用“授权属性”
[Authorize(Users="Stephen")]
public RSSActionResult StephenRss()
{
return View();
}