我们的商店正在将我们的内部项目管理应用程序从 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 操作。如果他们使用不允许 http 身份验证的 RSS feeder,您应该仍然可以执行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 将永远无法工作,因为没有足够的客户端(例如谷歌阅读器)支持它。
抱歉,没有完整的答案,但认为这可能会有所帮助。