Identity.Name为null

时间:2015-12-21 14:37:19

标签: asp.net-mvc-4 authorization

我的MVC应用程序,

装饰控制器
[AuthorizedRoles(Roles = "Manager")]

我正在尝试使用HttpContextBase获取所请求的用户名

  public class AuthorizedRoles : AuthorizeAttribute
  {
    protected override bool AuthorizeCore(HttpContextBase httpContext)
    {
       httpContext.User.Identity.Name

为什么Identity.Name为空?

Web.config看起来像

<authentication mode="Windows" />
<authorization>
  <allow users="*"/>
</authorization>

请帮助获取请求用户..

1 个答案:

答案 0 :(得分:0)

好的,这就是你需要做的!

enter image description here

我不知道在web.config中设置什么 - 但更改这些选项会使其工作。要获得此屏幕,请选择您的项目,然后按“F4&#39;

编辑:我想你在托管网站时也需要在IIS中配置它。 这可能有助于web.config

  <system.webServer>
    ....
    <security>
      <authentication >
        <anonymousAuthentication enabled="false"/>
        <windowsAuthentication enabled="true"/>
      </authentication>
    </security>
  </system.webServer>