传统ASP中的WindowsIdentity令牌

问题描述:

我已经在所有开发人员使用的工作中创建了一个.Net库。它的安全部分使用Microsoft AzMan作为安全后端。为了创建一个安全(AzMan)ClientContext,我必须将它传递给一个令牌值(作为一个uint)。在我需要为我们的通用库制作COM包装器之前,这一切都很好,所以我们的一些旧版页面可以利用它,而无需现在重写。传统ASP中的WindowsIdentity令牌

我不知道如何获得令牌值从传统ASP传递给AzMan。 COM包装器设置为以COM服务器的形式运行,并作为我们在此使用的所有COM对象的特定用户运行,因此公共库不能仅使用.Net提取标识。

任何想法?

如果您无法获取令牌,则始终可以使用IAzApplication.InitializeClientContextFromName,同时从您的asp页面中的请求中检索用户名并将其传递给您的com +组件。

http://msdn.microsoft.com/en-us/library/aa377363(VS.85).aspx

您是否在IIS配置中使用匿名登录?如果在传统的ASP使用Windows身份验证,并执行以下操作,你应该得到的登录用户:

Request.ServerVariables("LOGON_USER") 
+0

这是Windows身份验证,但我需要的令牌一样可以从System.Security.Principal.WindowsIdentity.GetCurrent()。令牌在.net中获得。 – 2008-12-05 21:07:41

在传统的ASP你必须得到来自外部的COM对象的令牌。

从我处理传统的ASP开始已经有很长一段时间了...但是在这里处理经典ASP模拟的人可能会有一些他们可以共享的代码片段。