Rails дружественная маршрутизация URL с открытым идентификатором - PullRequest
1 голос
/ 03 января 2009

Я хотел бы использовать создание маршрута рельсов для открытого идентификатора пользователя. URL будет выглядеть примерно так:

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

Это делается для того, чтобы сайт мог запрашивать открытый идентификатор и либо просматривать информацию для этого удостоверения, либо получать XML-документ, содержащий эту информацию. Стандартные Rails вещи.

Я ищу ваш опыт в нескольких вещах:

  1. Стандартные маршруты рельсов, кажется, душат .s в openid, так что:

    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

если возможно.

1 Ответ

1 голос
/ 04 января 2009

Вы можете обработать этот второй маршрут примерно так (замените имя действия чем-то реальным).

map.connect 'identity/:id', :controller => "identity", 
                            :action => "foo", 
                            :requirements => {:id => /(\w+\.?)+/}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...