Asp.net mvc 3 ASP.NET MVC 3 Razor-Windows身份验证每个请求都失败

Asp.net mvc 3 ASP.NET MVC 3 Razor-Windows身份验证每个请求都失败,asp.net-mvc-3,razor,Asp.net Mvc 3,Razor,我为这个问题争论了很久。基本上,我正在构建一个公司内部网站(MVC3中的第一个),但我无法获得任何授权检查。即使是基本的“Intranet”项目类型也无法工作。有趣的是,“欢迎域\用户名”很好用,所以我知道它得到了部分广告信息 以下是我对失败的最基本设置的处理过程: 在Windows 7开发工作站上以域用户身份登录 使用VS2010完全修补->创建新项目->ASP.NET MVC 3->内部网应用程序 右键单击项目->使用IIS Express 项目属性->禁用匿名访问,启用Windows身份验

我为这个问题争论了很久。基本上,我正在构建一个公司内部网站(MVC3中的第一个),但我无法获得任何授权检查。即使是基本的“Intranet”项目类型也无法工作。有趣的是,“欢迎域\用户名”很好用,所以我知道它得到了部分广告信息

以下是我对失败的最基本设置的处理过程:

在Windows 7开发工作站上以域用户身份登录

使用VS2010完全修补->创建新项目->ASP.NET MVC 3->内部网应用程序

右键单击项目->使用IIS Express

项目属性->禁用匿名访问,启用Windows身份验证

修改web.config以添加:

<add key="autoFormsAuthentication" value="false" />
运行代码并显示以下内容:

欢迎使用ASP.NET MVC!组1:False组2:False

这两个都应该是真的,因为我是这两个团体的成员

此外,所有

[Authorize(Roles = @"Group1")]
主应用程序中的验证失败,导致空屏幕

我通常会假设出现网络问题,但在MVC2应用程序中运行的相同代码与小组的预期完全相同

将应用程序部署到开发服务器(生产配置,Win2008服务器上的IIS 7)也无法按预期工作

我已经不知所措了


是否有我遗漏的步骤?

我首先看一下以下内容:返回什么?这应该是
Group1
Group2
,但可能是另外一种情况


第二,您可能希望检查您是否确实将a视为经过身份验证的标识。请检查这是一个
WindowsIdentity
,而不是其他内容。

感谢您的快速响应。GetRolesForUser确实包含有问题的角色,线程是一个WindowsIdentity,具有我的凭据且“isAuthenticated=True”。现在我比以前更困惑了,因为很明显,我的证书可供申请者使用。嗯,这很奇怪。所以你使用完全相同的角色名?也许值得一试(我记得在某处见过):使用
CN=Group1
作为角色名。我不知道还有什么不对劲。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;

namespace MVC3AuthTest001.Controllers
{
    public class HomeController : Controller
    {
        public ActionResult Index()
        {

            Boolean isAdmin01 = User.IsInRole("Group1");
            Boolean isAdmin02 = User.IsInRole("Group2");

            ViewBag.Message = "Welcome to ASP.NET MVC!" + " Admin: " + isAdmin01 + " EACAdmin: " + isAdmin02;

            return View();
        }

     }
 }
[Authorize(Roles = @"Group1")]