ASP.NET MVC:如何向RSS源添加身份验证?

时间:2010-05-15 09:06:21

标签: asp.net-mvc authentication rss

我已经看到了一些如何使用ASP.NET MVC创建RSS源的示例,可以通过创建Action或通过HttpHandler来实现。

我需要对feed进行身份验证,并且想知道如何完成这些(并且由RSS阅读器支持,而不是仅通过浏览器浏览到页面/ xml)以及MVC Action或HttpHandler之间的身份验证会有何不同?

3 个答案:

答案 0 :(得分:1)

最简单的方法是为每个客户端提供一个唯一的URL。所以在这种情况下,你总是会知道谁在查询饲料。

http://site.com/rss/<some_secret_hash_here>

另一方面 - 您可以使用具有标准用户的网址:密码对,如:

http://user:password@site.com/rss/blabla.xml

并解析用户:密码。

我更喜欢使用第一个。

答案 1 :(得分:0)

有多种方法可以做到。

据我所知,最好的方法是使用REST架构,在路径中使用凭证,或者作为后期数据使用凭证(首选方法)。

第一种方法:

第1步:获取http://www.myserver.com/myfeed.rss/username/query =&gt;这应该返回一个随机值 第2步:获取http://www.myserver.com/myfeed.ress/username/hashed-password =&gt;客户端预期的散列密码为hash(<random-value>+<password>)

这有两个目的:

  1. 原始密码永远不会通过电话传输
  2. 随机值确保散列是唯一的,因此无法重复使用。
  3. 您可能希望为其他与IP相关的安全操作设置用户名+随机值组合的到期日期/时间,以确保不会发生会话劫持。

    修改

    在web.config

    中使用带有path="myfeed.rss"的{​​{1}}的HTTP处理程序

答案 2 :(得分:0)

  

并得到RSS阅读器的支持,而不仅仅是通过浏览浏览到页面/ xml

我希望大多数读者支持典型(基本和摘要)身份验证。例如。 twitter的提要需要身份验证。