1

我想为用户的开放ID创建一个rails路线。网址看起来像

http://mysite.com/identity/:html_encoded_openid
or
http://mysite.com/identity/:html_encoded_openid.xml

这样就可以向站点查询一个打开的 id 并查看该身份的信息或接收包含该信息的 xml 文档。标准 Rails 的东西。

我正在寻找您在以下方面的专业知识:

  1. 标准的 rails 路线似乎在 openid 中阻塞了 .s ,因此:

    http://mysite.com/identity/openid

    会找到一条路线,但

    http://mysite.com/identity/openid.myopenid.com

    不会。

  2. 我需要注意哪些安全问题?

  3. 有没有更好的方法来编码查询,也许是查询字符串?

而且我宁愿不使用标准的友好 url 方法:

my-friendly-openid-com
or
23-my-friendly-openid-com

如果可能的话。

4

1 回答 1

1

您可以使用类似这样的方式处理第二条路线(将动作名称替换为真实的名称)。

map.connect 'identity/:id', :controller => "identity", 
                            :action => "foo", 
                            :requirements => {:id => /(\w+\.?)+/}
于 2009-01-03T21:08:32.067 回答