Искажение Серверных переменных под ASP.NET
От: Аноним  
Дата: 22.04.04 12:39
Оценка:
Всем привет! Я тут пишу первый раз, поэтому, возможно, нарушу какие-то правила — ногами не бейте.

У нас аутентификация на сайте прикладная. На уровне ISAPI стоит фильтр (DAF), который перехватывает запросы на аутентификацию и проверяет по SQL Server-ной базе имя и пароль.
Всё классно работает в ASP. Ацтентификация проходит и он (DAF) кладет в переменные сервера имя и пароль.

Проект наш потихоничку мигрирует на ASP.NET (Все новое уже на нем пишется), и иногда надо внутри ASP.NET-ных кодов запросить старые ASP-ные страницы (XML генерят).
В этом случае для данных аутентификации мы используем переменные сидящие на уровне сервера.
Все работает, пока не появляются умляуды (буковки aAoOuU с двумя точками "над головой") в login-ах или паролях. (дело в Германии происходит)
Тут мы и видим, что когда я считываю серверную переменную с именем из под ASP, то умляуды вижу, а когда из под ASP.NET, то о просто "вырезает" эти символы.

Напрашивается мысль про кодировки, но где чего ковырнуть — как-то никак не сообразится
Re: Искажение Серверных переменных под ASP.NET
От: YuriAbele Германия yabele.blogspot.com
Дата: 22.04.04 12:40
Оценка:
я был
Re: Искажение Серверных переменных под ASP.NET
От: Gollum Россия  
Дата: 22.04.04 12:42
Оценка:
Здравствуйте, <Аноним>, Вы писали:

А>Напрашивается мысль про кодировки, но где чего ковырнуть — как-то никак не сообразится


В web.config у ASP.Net приложения в <globalization> что стоит, и какой collation в вашей базе?
He's taking the preventive measures, It must have been too late
Eugene Agafonov on the .NET

Re[2]: Искажение Серверных переменных под ASP.NET
От: Yuri Abele Германия yabele.blogspot.com
Дата: 22.04.04 12:49
Оценка:
Y>>Напрашивается мысль про кодировки, но где чего ковырнуть — как-то никак не сообразится
G>В web.config у ASP.Net приложения в <globalization> что стоит, и какой collation в вашей базе?
Да вроде одинаковые windows-1252, но я проверю еще раз.
Re[2]: Искажение Серверных переменных под ASP.NET
От: Yuri Abele Германия yabele.blogspot.com
Дата: 22.04.04 12:52
Оценка:
Latin1-General_CI_AS в базе, вполне мо поему "стыкуется" c windows-1252
Re[3]: Искажение Серверных переменных под ASP.NET
От: Gollum Россия  
Дата: 22.04.04 13:17
Оценка:
Здравствуйте, Yuri Abele, Вы писали:

YA>Latin1-General_CI_AS в базе, вполне мо поему "стыкуется" c windows-1252


А если попробовать поставить utf-8 в веб.конфиге?
Ежели череп прогрызла мышь — время забыть о былом
Eugene Agafonov on the .NET

Re[4]: Искажение Серверных переменных под ASP.NET
От: Yuri Abele Германия yabele.blogspot.com
Дата: 22.04.04 13:22
Оценка:
YA>>Latin1-General_CI_AS в базе, вполне мо поему "стыкуется" c windows-1252

G>А если попробовать поставить utf-8 в веб.конфиге?

так он и стоял по умолчанию.
Мы в итоге три кодировки попробовали:
utf-8
iso-8859-1 (Western European (ISO))
windows-1252 (Western European (Windows))
Меняли в web.config и machime.config. Не помогает.
в trace режиме вижу, что request и response кодировки меняются, но во и ныне там

Вообще ерунда какая-то! ASP.NET, на сколько я понимаю, так же как и ASP, оба считывают те же самые серверные переменные. Т.е. они вообще независимы. Я туда хоть PHP поставлю.
Почему же он (ASP.NET) отсекает нестандартные символы (ASP не отсекает)!?
Re[5]: Искажение Серверных переменных под ASP.NET
От: Gollum Россия  
Дата: 22.04.04 13:34
Оценка:
Здравствуйте, Yuri Abele, Вы писали:

YA>Меняли в web.config и machime.config. Не помогает.

machine.config просто конфигурационный файл глобального масштаба, его не нужно трогать По крайней мере чем реже, тем лучше.

YA>в trace режиме вижу, что request и response кодировки меняются, но во и ныне там

значит, дело в чем-то другом

YA>Почему же он (ASP.NET) отсекает нестандартные символы (ASP не отсекает)!?

Видимо, не нравится что-то ему. Наверное, проще будет переписать авторизацию под асп.нет — это несложно.
В мире что-то не так? Или это у меня в голове?
Eugene Agafonov on the .NET

Re[6]: Искажение Серверных переменных под ASP.NET
От: Yuri Abele Германия yabele.blogspot.com
Дата: 22.04.04 14:08
Оценка: :)
YA>>Меняли в web.config и machime.config. Не помогает.
G>machine.config просто конфигурационный файл глобального масштаба, его не нужно трогать По крайней мере чем реже, тем лучше.
Еще немного и я ядро начну перекомпилировать
Этот DAF на уровне всего сервера работает, вот я про machine.config И подумал. Но тоже не помогло.

YA>>в trace режиме вижу, что request и response кодировки меняются, но во и ныне там

G>значит, дело в чем-то другом
В том, что эти имя и пароль в сервер попадают как надо, т.к. ASP их благополучно от туда считывает, а вот ASP.NET "кастрирует"

YA>>Почему же он (ASP.NET) отсекает нестандартные символы (ASP не отсекает)!?

G>Видимо, не нравится что-то ему. Наверное, проще будет переписать авторизацию под асп.нет — это несложно.
Можно, но времени на это нет, к сожалению, да и не понятно, как будут уживаться в режиме "single login" два фрейма в одном окне, где один под DAF и "старым" ASP, а другой под нашей аутентификацией и ASP.NET
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.