我可以在.NET中设置serverVariables

时间:2012-03-22 12:51:29

标签: asp.net .net vb.net request.servervariables

是否可以使用代码为ServerVariable(“Something”)赋值?而不是通过IIS做到这一点?

像这样简单的东西?

Request.ServerVariables( “LOGON_USER”)= “测试”

我还在另一个论坛发现了以下内容:

Request.ServerVaria bles.Add(name,value)

但我在两者上都遇到了同样的错误: “预期宣言”

一些背景:

我想要做的是将(“LOGON_USER”)变量从一个应用程序传递到另一个应用程序(在不同的域上),以某种方式允许单点登录。我现在将隐藏变量传递给新服务器,然后将它们分配给正确的服务器变量。 那么我需要编辑回复或请求吗?我对此感到满意吗?

2 个答案:

答案 0 :(得分:2)

单点登录通常不以这种方式实现。通常,您将在第一个系统中对用户进行身份验证,创建安全令牌,然后将令牌以及一些标识信息传递给第二个系统。第二个系统将验证令牌和附加数据,如果成功,则在第二个系统中验证用户(通常通过创建一个auth cookie)。

此链接为您提供了一种方法的概述,但Google可以提供其他技巧: http://msdn.microsoft.com/en-us/library/ms972971.aspx

答案 1 :(得分:0)

您可以设置服务器变量(尽管您通常希望更改响应而不是请求),最可能的地方是自定义HttpModule。您可以在这里找到更多信息:

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

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