在试图找出 ActiveDirectory 和 ASP.NET 成员资格如何工作时,我有点困惑......我创建了一个新的 MVC 项目并删除了 AccountController / Views。我已经更改了 Web.Config 以便它使用 ActiveDirectory 并根据用户当前的 Windows 登录自动对用户进行身份验证:
网络配置
<authentication mode="Windows">
<forms
name=".ADAuthCookie"
timeout="10" />
</authentication>
<membership defaultProvider="MyADMembershipProvider">
<providers>
<clear/>
<add
name="MyADMembershipProvider"
type="System.Web.Security.ActiveDirectoryMembershipProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
connectionStringName="ADConnectionString"
connectionUsername="MYDOMAIN\myuser"
connectionPassword="xxx"
/>
</providers>
</membership>
这很好用,因为我可以执行以下操作来获取这样的用户用户名:
User.Idenity.Name() 'Gives MYDOMAIN\myuser
看下面,其实让我很困惑:
Threading.Thread.CurrentPrincipal.Identity.Name() 'Gives MYDOMAIN\myuser
1、线程标识不应该是IUSR_WORKSTATION或者ASPNET_WP用户名吗?
2. Authentication 和 Impersonation 有什么区别?