A)我希望能够通过以下身份验证方法支持RSS源的密码保护:
HTTP Basic 集成Windows(NTLM / Kerberos) 消化
1)我怎么能在asp.net mvc
中做到这一点B) 阅读RSS 2.0规范,我没有看到任何与安全性相关的内容,因此我假设为RSS源实现的安全性由处理RSS源的HTTP请求的Web服务器一端处理,另一端由客户端处理请求访问RSS源。客户端应收集用户名和密码,并将该信息放入对服务器的请求中。我很想知道UserLand或ASP.NET Weblogs等网站如何(或者是否)提供受密码保护的RSS提要,而另一方面,如RSSAd聚合器如NewsGator,NewzCrawler,SharpReader等处理密码受保护的RSS源?
答案 0 :(得分:2)
RSS没有内置任何安全性。您可以通过创建自定义ActionResult来利用ASP.NET MVC,它可以提供身份验证,这可以使用表单身份验证,但您可以看到这个想法。
public class RssActionResult : ActionResult
{
public SyndicationFeed Feed { get;set; }
public override void ExecuteResult(ControllerContext context)
{
if (context.HttpContext.Current.User.Identity.IsAuthenticated)
{
context.HttpContext.Response.ContentType = "application/rss+xml";
Rss20FeedFormatter rssFormatter = new Rss20FeedFormatter(Feed);
using (XmlWriter writer = XmlWriter.Create(context.HttpContext.Response.Output))
{
rssFormatter.WriteTo(writer);
}
}
else
{
//Whatever, not authenticated
}
}
}