【发布时间】:2008-11-17 10:20:27
【问题描述】:
我们的商店正在将我们的内部项目管理应用程序从 ASP.NET Web 窗体转换为 ASP.NET MVC。
我想为我们的客户提供他们当前未解决问题的 RSS 提要……但我想通过某种类型的授权来这样做,例如登录名和密码。
这可能使用 ASP.NET MVC 还是应该通过 WCF 等其他服务来完成?示例代码将非常感谢。
【问题讨论】:
我们的商店正在将我们的内部项目管理应用程序从 ASP.NET Web 窗体转换为 ASP.NET MVC。
我想为我们的客户提供他们当前未解决问题的 RSS 提要……但我想通过某种类型的授权来这样做,例如登录名和密码。
这可能使用 ASP.NET MVC 还是应该通过 WCF 等其他服务来完成?示例代码将非常感谢。
【问题讨论】:
我不确定最好的方法,但可以想到一些,但没有一个是超级棒的。
使用具有基本安全性的 IIS WindowsAuthentication 并实施验证方法,然后使用授权过滤器标记 RSS 操作。如果他们使用的 RSS feeder 不允许 http 身份验证,您应该仍然可以使用http://username:password@mysite.com/controller/action/rss。
为每个客户生成一个令牌并将其放置在 URL 的一部分中:http://mysite.com/controller/action/rss/{token}。这不是很好。
将用户名/密码作为路由的一部分:http://mysite.com/controller/action/rss/{username}/{password} ...不过这太可怕了。
所有这些都有点糟糕,因为密码(或令牌)是 url 可见的。如果它是https而不是http,也许这被认为是可以的。我认为第一个选项 + https 很常见?
【讨论】:
如果私人提要是 RSS 规范的一部分,您应该在那里寻找 RSS 身份验证的机制。
我之前曾在一个项目中考虑过这一点,并得出结论,安全 RSS 将永远无法工作,因为没有足够的客户端(例如谷歌阅读器)支持它。
抱歉,没有完整的答案,但我认为这可能会有所帮助。
【讨论】: