2012-03-22 2 views
3

можно ли присвоить значение ServerVariable («Что-то») с помощью кода? вместо того, чтобы делать это через IIS?Могу ли я установить serverVariables в .NET

что-то простое, как это?

Request.ServerVariables ("LOGON_USER") = "тест"

я также нашел следующее на другом форуме:

Request.ServerVaria bles.Add (имя, значение)

, но я продолжать получать ту же ошибку на оба: «Декларацию Прогнозной»

некоторый фон:

я пытаюсь сделать, это перейдите в переменную («LOGON_USER») из одного приложения в другое (в другом домене), чтобы каким-то образом разрешить один знак. Теперь я передаю скрытые переменные на новый сервер, а затем хочу назначить их соответствующим серверным переменным. , мне нужно будет отредактировать ответ или запрос? я нахожусь на этом?

+0

Как пользователь, получающий между двумя приложениями? Вы пересылаете их от одного к другому, или они посещают их самостоятельно или что-то еще? Я не думаю, что вы можете сделать это, установив свойства сервера запросов - они представляют собой комбинацию заголовков запросов, которые существуют только для этого запроса, и переменные среды сервера, которые не являются конкретными для текущего пользователя, но существуют только на этом текущем сервере , – Rup

+0

Я пересылаю их в новое приложение, вот пример: http://www.eggheadcafe.com/articles/20021207.asp –

+0

О, ОК - но это использует ['Session'] (http: // msdn. microsoft.com/en-us/library/system.web.httpcontext.session.aspx) not ['Request.ServerVariables'] (http://msdn.microsoft.com/en-us/library/system.web.httprequest .servervariables.aspx). Это потребует, чтобы пользователь имел одну и ту же информацию о сеансе - куки-файл по умолчанию, поэтому, если вам нужно передать это через домены, вам придется что-то делать или читать, передавать и писать, а сервер получать доступ к один и тот же общий сеанс. – Rup

ответ

2

Единый вход не обычно реализуется таким образом. Как правило, вы должны аутентифицировать пользователя в первой системе, создать защищенный токен, а затем передать токен вместе с некоторой идентифицирующей информацией во вторую систему. Вторая система проверила бы токен и дополнительные данные, и в случае успеха аутентифицирует пользователя во второй системе (обычно, создавая файл cookie auth).

Эта ссылка дает обзор одного подхода, но вы можете Google для других методов: http://msdn.microsoft.com/en-us/library/ms972971.aspx

0

Вы можете установить переменные сервера (хотя обычно вы хотите изменить ответ, а не запрос), и наиболее вероятное место для этого было бы в пользовательском HttpModule. Вы можете найти более подробную информацию здесь:

http://learn.iis.net/page.aspx/686/setting-http-request-headers-and-iis-server-variables/

и

http://forums.asp.net/t/1125149.aspx

+0

благодарит вас. в основном то, что я пытаюсь сделать, - это передать переменную («LOGON_USER») из одного приложения в другое, чтобы как-то разрешить один знак. мне тогда нужно отредактировать ответ или запрос? Благодаря! –

+0

Если это единственный знак, я бы посмотрел на другой путь. – Richard

 Смежные вопросы

  • Нет связанных вопросов^_^