Domanda

Vorrei usare creare una rotta di binari per l'id aperto di un utente. L'URL sarebbe simile a

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

Questo sarebbe per cui il sito potrebbe essere interrogato per un ID aperto e visualizzare le informazioni per tale identità o ricevere un documento XML contenente tali informazioni. Roba standard di Rails.

Sto cercando la tua esperienza su alcune cose:

  1. Le rotte di rotaie standard sembrano soffocare il .s in un openid in modo che:

    http://mysite.com/identity/openid

    troverebbe una rotta ma

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

    no.

  2. Quali problemi di sicurezza dovrei cercare?

  3. Esiste un modo migliore per codificare la query, magari con la stringa di query?

E preferirei non utilizzare il metodo URL amichevole standard di usare:

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

se possibile.

È stato utile?

Soluzione

Potresti gestire quel secondo percorso con qualcosa del genere (sostituisci il nome dell'azione con qualcosa di reale).

map.connect 'identity/:id', :controller => "identity", 
                            :action => "foo", 
                            :requirements => {:id => /(\w+\.?)+/}
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top