好吧,老实说,问题是为什么“currentUser.Identity.Name”是空白的。选项是:
`<authentication mode="Windows">
</authentication>
<identity impersonate ="false"/>`
并且启用了 IIS 7 集成 Windows 身份验证,禁用了“匿名访问”。(这里是mantioned )应用程序正在本地计算机上执行,在同一个域中。当我试图写:
<authorization>
<allow users="MY_USER_NAME"/>
<deny users="?"/>
</authorization>
我得到页面 401.2,访问被禁止。
现在,我认为,选项是从某个地方继承而来的,并且仍然启用了“匿名访问”。那么,我需要如何检查代码中的实际值。
更新 角色管理器是这样的:
<roleManager defaultProvider="DefaultRoleProvider" enabled="true">
<providers>
<add name="DefaultRoleProvider" type="System.Web.Providers.DefaultRoleProvider, System.Web.Providers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" connectionStringName="DefaultConnection" applicationName="/"/>
</providers>
</roleManager>