gpt4 book ai didi

asp.net - 如何获取当前的登录用户,包括Delphi 2009中的域?

转载 作者:行者123 更新时间:2023-12-03 19:05:59 26 4
gpt4 key购买 nike

我需要获取当前登录的用户名吗?当我从以Windows身份验证模式运行的ASP.NET调用代码时,我需要它才能正常工作。即,在这种情况下,我不想获得ASPNET用户,但要获得模拟用户。这与我之前的question有关。我尝试的所有内容都会返回ASPNET。

最佳答案

在您的另一个问题中,您写道将ASP.NET配置为使用模拟的Windows身份验证:

 <system.web>
...
<authentication mode="Windows"/>
<identity impersonate="true"/>
...
</system.web>


ASP.NET应用程序是否显示正确的凭据(用户和域)?

您是否使用正确的Identity上下文调用Delphi函数,例如

WindowsIdentity winId = (WindowsIdentity)HttpContext.Current.User.Identity;
try
{
ctx = winId.Impersonate();
// call Delphi function, passing the identity context
}
catch
{
}
finally
{
if (ctx != null)
ctx.Undo();
}


更新:

如果从Web表单页面后面的代码中调用COM对象,则可以尝试将Web表单页面的ASPCOMPAT属性设置为true。

看到:


http://dotnetdebug.net/2006/06/13/aspnet-web-application-and-sta-com-objects-security-issues/



“身份”标签可确保
执行请求的线程(MTA
线程)将冒充其安全性
特定于用户的上下文
标签,但我们的STA COM对象
最终是在默认情况下创建的
不是模拟的STA线程,
使它获得安全上下文
的过程(即IUSR_XXX –
最不强大的用户)。

关于asp.net - 如何获取当前的登录用户,包括Delphi 2009中的域?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1803863/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com