[英]asp.net impersonation setup
我的Web应用程序设置为使用Windows身份验证,并且模拟设置为true。
<authentication mode="Windows"/>
<identity impersonate="true"/>
在本地计算机(IIS6)上运行它时,我使用当前登录名访问Active Directory。
WindowsIdentity curIdentity = WindowsIdentity.GetCurrent();
WindowsPrincipal myPrincipal = new WindowsPrincipal(curIdentity);
但是,当我远程访问我的网站时,模拟似乎无法正常工作; 我显示用户所属的组-并获得一个很短的列表!
我还需要什么?
模拟在机器之间传递的凭据不超过1跳。 因此,您的信誉从您的计算机进入IIS,但走得更远,访问活动目录是第二跳。 当所有内容都在同一台计算机上运行时(如您的本地情况),它将正常工作。
http://msdn.microsoft.com/zh-CN/library/aa292118(VS.71).aspx
我很确定您需要指定一个用户:
<identity impersonate="true" userName="contoso\Jane" password="pass"/>
否则,它将使用ASP.Net用户,该用户将具有有限的特权。
请参阅此处以获取更多信息(包括如何存储加密的用户名/密码)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.