我想在INQ1手机或任何其他RSS阅读器上创建一个内部RSS提要(我为3 Mobile,Australia工作)。然而,在手机的内置RSS阅读器上测试它,我意识到如果没有密码保护源的能力,或以其他方式限制访问它,我几乎没有机会进一步发展这个想法。
我想到的一件事是定期更改Feed的Uri,因此离开公司的经理无法继续订阅并查看敏感信息,但让用户这样做的想法会让它变得更难卖,而且非常不优雅。
有人知道如何制作它,以便在下载Feed之前,读者必须对用户进行身份验证吗?它是Feed中元数据的一部分,还是您在读者软件中设置的内容?
更新:我应该已经解释说我已经在父文件夹上放置了文件夹级权限,这会在浏览器中查看提要时显示正常的身份验证对话框,但这只会产生结果在手机的RSS阅读器中没有任何解释或警告的更新失败,并且当我下次尝试刷新源文件时,该文件丢失是不可理解的。
答案 0 :(得分:0)
我相信您会在Feed上设置权限,强制进行身份验证,就像Twitter Feed一样。问题在于许多读者(包括Google Reader)尚不支持经过身份验证的Feed。
答案 1 :(得分:0)
我们的想法是通过安全通道进行身份验证。这些帖子解释得很好:
答案 2 :(得分:0)
假设您的RSS源是通过HTTP,那么基本的HTTP身份验证可能会成功。这可以在Web服务器级别(例如在IIS中)或通过您用于生成订阅源的任何框架(例如在ASP.NET中)完成。
身份验证方案(基本用户名/密码,NTLM,Kerberos等)取决于您。如果您正在使用WCF生成Feed,那么这些决定是您稍后可以制作的内容,并在需要时通过配置应用。
您是仅仅想要验证Feed的使用者,还是加密它以防止信息被“中间人”读取。如果您需要加密,那么SSL可能是最容易实现的。
您应该通过更改名称来避免简单地“隐藏”RSS源。
<强>更新强> 您的问题(使用它的更新)听起来好像您实际上在设备上遇到RSS客户端问题。您需要确定手机RSS客户端是否了解如何处理基本/摘要身份验证等。
假设没有,HTTP请求中是否有任何内容可以让您将设备与用户关联?是否有HTTP标头为您提供唯一的设备ID?如果是这样,您可能会对此数据执行查找以执行您自己的弱身份验证,但您应该记住,这种身份验证可能轻松欺骗。
设备是否具有可用于相互SSL的客户端证书?如果是这样,那将是理想的。
答案 3 :(得分:0)
网络服务器的身份验证可能是最好的解决方案,但是为了解决读者不支持它的问题(Google已经提到并且我遇到了Safari的问题),您可以实现一个简单的值键来附加到URL。
I.E.
http://www.mydomain/rss.php?key=value
您的系统可以“验证”键值并输出RSS,无效的k-v可以获得标准的“无效身份验证”消息作为单项RSS或返回40x错误。
它不是很安全,因为你可以在URL中看到k-v,但这是一个权衡。未经身份验证的HTTPS会更安全一些。
答案 4 :(得分:0)
如果手机中的阅读器不支持HTTP Basic或Digest,最好的办法是为每位消费者创建一个唯一的Feed。让客户登录并生成一个链接,其中包含一些对该用户唯一的令牌。如果用户离开,您可以拒绝该令牌,关闭访问权限。
如果您采用此路线,则可能需要调查Feed中的Feed Access Control位。它并不完美,但它受到更大的聚合器的尊重,因此如果您的某个客户决定使用Reader或Bloglines订阅Feed,则搜索结果中不会显示任何内容。