首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Asp.NET主体WebORB HttpHandler

Asp.NET主体WebORB HttpHandler
EN

Stack Overflow用户
提问于 2009-12-02 02:19:13
回答 1查看 570关注 0票数 4

我有一个Flex-WebORB-Asp.NET应用程序。登录时,有一个实现WebORB接口的AuthenticationHandler:

代码语言:javascript
复制
IPrincipal CheckCredentials(string username, string password, Request message);

所以我创建了一个主体并返回它。WebORB使用主体来检查远程方法调用的身份验证和授权。

代码语言:javascript
复制
var principal = new GenericPrincipal(new GenericIdentity(user.id.ToString()), new[] { "admin" });
return principal

现在,在这一点上,如果我检查HttpContext.Current.User.Identity是什么,它是一个WindowsIdentity。

到目前一切尚好。稍后,通过WebORB进行远程调用,我通过调用以下命令来获取登录用户的id:

代码语言:javascript
复制
Thread.CurrentPrincipal.Identity.Name

所以我猜WebORB会确保在每次远程调用时都设置线程的标识。

问题是,当我调用HttpHandler (以检索图像)时,我还试图获取使用Thread.CurrentPrincipal.Identity.Name登录的用户的id,但这不起作用。可能是因为有了HttpHandler,WebORB就不起作用了。

您将如何解决此问题,以便我可以在这两种情况下以相同的方式获取登录用户的id?是否将其放入会话对象中?您能更改HttpContext.Current.User.Identity吗?HttpContext.Current.User.Identity不应该与Thread.CurrentPrincipal.Identity.Name相同吗

ps:用户不在Active Directory中。

EN

回答 1

Stack Overflow用户

发布于 2011-11-19 07:49:58

不,they are different

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1827911

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档