Thread View: pl.comp.lang.ruby
6 messages
6 total messages
Started by Zbyszek Malec
Tue, 02 Jun 2009 18:07
Opera + respond_to + ROR
Author: Zbyszek Malec
Date: Tue, 02 Jun 2009 18:07
Date: Tue, 02 Jun 2009 18:07
41 lines
1936 bytes
1936 bytes
Cześć
Opera 9.63
ROR 2.2.2
JRuby 1.1.4
RESTFulAuthentication
w RESTFulAuthentication jest metoda:
def access_denied
respond_to do |format|
format.html do
store_location
redirect_to new_<%= controller_singular_name %>_path
end
format.any do
request_http_basic_authentication 'Web Password'
end
end
end
czyli jak przeglądarka wysłała, że reaguje na html, to powinno nastąpić
przekierowanie, w przeciwnym przypadku, powinno odbyć się HTTP Basic Auth.
Opera wysyła taki HTTP_ACCEPT:
application/xhtml+voice+xml;version=1.2,
application/x-xhtml+voice+xml;version=1.2, text/html,
application/xml;q=0.9, application/xhtml+xml, image/png, image/jpeg,
image/gif, image/x-xbitmap, */*;q=0.1
czyli text/html jest obecne jako pierwsze, natomiast */* jako ostatnie, tak
więc powinienem zostać przekierowany na stronę z formularzem do logowania
się. Niestety, cały czas dostaję okienko Basic Auth.
Próbowałem yahować cos na ten temat, jednak znalazłem jedynie wątki
dotyczące IE i jego */*.
Ktoś się może zetknął z takim problemem i mógłby naprowadzić na
rozwiązanie?
--
Zbyszek Malec
gg 2756100
Re: Opera + respond_to + ROR
Author: Jarosław Zabiełło
Date: Tue, 02 Jun 2009 18:57
Date: Tue, 02 Jun 2009 18:57
48 lines
2712 bytes
2712 bytes
Dnia 02-06-2009 o 19:07:55 Zbyszek Malec <zbyszekto@tlen.pl> napisał(a): > ROR 2.2.2 > JRuby 1.1.4 > RESTFulAuthentication > > w RESTFulAuthentication jest metoda: > > def access_denied > respond_to do |format| > format.html do > store_location > redirect_to new_<%= controller_singular_name %>_path > end > format.any do > request_http_basic_authentication 'Web Password' > end > end > end > > czyli jak przeglądarka wysłała, że reaguje na html, to powinno nastąpić > przekierowanie, w przeciwnym przypadku, powinno odbyć się HTTP Basic > Auth. > Opera wysyła taki HTTP_ACCEPT: > > application/xhtml+voice+xml;version=1.2, > application/x-xhtml+voice+xml;version=1.2, text/html, > application/xml;q=0.9, application/xhtml+xml, image/png, image/jpeg, > image/gif, image/x-xbitmap, */*;q=0.1 > > czyli text/html jest obecne jako pierwsze, Niekoniecznie. Zobacz co się kryje pod zmienną format. Sprawdź czy zadziała ci dla format.xml. Założe się, że to RoR rozpoznaje jako XML, a nie HTML. W RoR 2.2 w pliku ...gems/actionpack-2.2.2/lib/action_controller/mime_types.rb masz wszystkie deficje MIME jakie są rozpoznawane przez ActionPack. I tam nie ma żadnego application/xhtml+voice+xml. Mime::Type.register "*/*", :all .. Mime::Type.register "text/html", :html, %w( application/xhtml+xml ), %w( xhtml ) ... Mime::Type.register "application/xml", :xml, %w( text/xml application/x-xml ) Jeśli tu jest problem to rozwiązana są dwa. Albo obsługujesz to przez format.xml zamiast format.html albo (lepiej) dodaj do Mime::Type.register "operowy" MIME. Sprawa jest w sumie śliska, bo XHTML to aplikacja XML tak naprawdę. Czyli poprawne jest parsowanie XHTML jako HTML jak i jako XML. -- Jarosław Zabiełło http://blog.zabiello.com
Re: Opera + respond_to + ROR
Author: Jarosław Zabiełło
Date: Tue, 02 Jun 2009 19:09
Date: Tue, 02 Jun 2009 19:09
50 lines
2815 bytes
2815 bytes
Dnia 02-06-2009 o 19:07:55 Zbyszek Malec <zbyszekto@tlen.pl> napisał(a):
ROR 2.2.2
JRuby 1.1.4
RESTFulAuthentication
w RESTFulAuthentication jest metoda:
def access_denied
respond_to do |format|
format.html do
store_location
redirect_to new_<%= controller_singular_name %>_path
end
format.any do
request_http_basic_authentication 'Web Password'
end
end
end
czyli jak przeglądarka wysłała, że reaguje na html, to powinno nastąpić
przekierowanie, w przeciwnym przypadku, powinno odbyć się HTTP Basic Auth.
Opera wysyła taki HTTP_ACCEPT:
application/xhtml+voice+xml;version=1.2,
application/x-xhtml+voice+xml;version=1.2, text/html,
application/xml;q=0.9, application/xhtml+xml, image/png, image/jpeg,
image/gif, image/x-xbitmap, */*;q=0.1
czyli text/html jest obecne jako pierwsze,
Niekoniecznie. Zobacz co się kryje pod zmienną format. Sprawdź czy zadziała ci dla format.xml. Założe się, że to RoR rozpoznaje jako XML, a nie HTML. W RoR 2.2 w pliku ...gems/actionpack-2.2.2/lib/action_controller/mime_types.rb masz wszystkie deficje MIME jakie są rozpoznawane przez ActionPack. I tam nie ma żadnego application/xhtml+voice+xml.
Mime::Type.register "*/*", :all
..
Mime::Type.register "text/html", :html, %w( application/xhtml+xml ), %w( xhtml )
...
Mime::Type.register "application/xml", :xml, %w( text/xml application/x-xml )
Jeśli tu jest problem to rozwiązana są dwa. Albo obsługujesz to przez format.xml zamiast format.html albo (lepiej) dodaj do Mime::Type.register "operowy" MIME.
Sprawa jest w sumie śliska, bo XHTML to aplikacja XML tak naprawdę. Czyli poprawne jest parsowanie XHTML jako HTML jak i jako XML.
Acha, znalazłem info na http://www.iana.org/assignments/media-types/application/, że xhtml-voice+xml to format przestarzały i nieaktualny.
--
Jarosław Zabiełło
http://blog.zabiello.com
Re: Opera + respond_to + ROR
Author: Zbyszek Malec
Date: Tue, 02 Jun 2009 20:18
Date: Tue, 02 Jun 2009 20:18
26 lines
2247 bytes
2247 bytes
Dnia Tue, 02 Jun 2009 19:57:01 +0100, Jarosław Zabiełło napisał(a): > Niekoniecznie. Zobacz co się kryje pod zmienną format. Sprawdź czy zadziała ci dla format.xml. Założe się, że to RoR rozpoznaje jako XML, a nie HTML. W RoR 2.2 w pliku ...gems/actionpack-2.2.2/lib/action_controller/mime_types.rb masz wszystkie deficje MIME jakie są rozpoznawane przez ActionPack. I tam nie ma żadnego application/xhtml+voice+xml. Dodałem sobie jakies wypisywanie w MimeResponds i widze, że trafia tam :xml. Potem jest to konwertowane do 'XML' i szukane w napisie z przeglądarki (ACCEPT header). Jeszcze patrzę na to, ale wydaje mi się to dziwne, tak jakby RoR spodziewał się, że te formaty będą wielkimi literami pisane. > Mime::Type.register "*/*", :all > .. > Mime::Type.register "text/html", :html, %w( application/xhtml+xml ), %w( xhtml ) > ... > Mime::Type.register "application/xml", :xml, %w( text/xml application/x-xml ) > > Jeśli tu jest problem to rozwiązana są dwa. Albo obsługujesz to przez format.xml zamiast format.html albo (lepiej) dodaj do Mime::Type.register "operowy" MIME. > > Sprawa jest w sumie śliska, bo XHTML to aplikacja XML tak naprawdę. Czyli poprawne jest parsowanie XHTML jako HTML jak i jako XML. Rzeczywiście, dostaję XML. W ogóle szkoda, że RoR forsuje XHTMLa i będę musiał jeszcze z nim walczyć o HTMLa. Ale to jeszcze przede mną. -- Zbyszek Malec gg 2756100
Re: Opera + respond_to + ROR
Author: Zbyszek Malec
Date: Tue, 02 Jun 2009 20:22
Date: Tue, 02 Jun 2009 20:22
11 lines
1133 bytes
1133 bytes
Dnia Tue, 2 Jun 2009 22:18:59 +0200, Zbyszek Malec napisał(a): > Jeszcze patrzę na to, ale wydaje mi się to > dziwne, tak jakby RoR spodziewał się, że te formaty będą wielkimi literami > pisane. No dobra, już widzę, że głupotę napisałem. -- Zbyszek Malec gg 2756100
Re: Opera + respond_to + ROR
Author: Zbyszek Malec
Date: Sat, 20 Jun 2009 17:19
Date: Sat, 20 Jun 2009 17:19
10 lines
1182 bytes
1182 bytes
Dnia Tue, 02 Jun 2009 20:09:00 +0100, Jarosław Zabiełło napisał(a): > Acha, znalazłem info na http://www.iana.org/assignments/media-types/application/, że xhtml-voice+xml to format przestarzały i nieaktualny. Ja jeszcze też poszperałem i wydaje mi się, że to format.any w mojej wersji RORa jest po prostu zepsute. Dzięki za pomoc. -- Zbyszek Malec gg 2756100
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads