我有一个向COM公开的程序集,它提供对.NET中的安全库的访问,以访问旧的VB代码,这样我们就可以添加新的安全模型,而无需将所有旧的应用程序完全重写为.NET。
向COM公开的这些类中的一些方法需要当前用户的SID(如果这有区别的话,我们在一个域中)。我有两种不同的情况:第一种情况是当用户运行桌面/控制台应用程序时,我需要获取运行该应用程序的当前标识的SID;第二种情况是当用户连接到ASP Web应用程序时,我需要获取正在查看该页的用户的SID。怎么做到的?
我对传统的ASP/VB没有太多的经验,所以我不知道该怎么做。
对于经典的ASP,我不确定您是否能够直接获取它,但是您可以从请求对象获取域\用户名:
Request.ServerVariables("logon_user")
然后,您可以查看Active Directory以从objectsid获取sid值。