我目前正在为我建立的会员网站使用表单身份验证。但是,我创建了一个 CMS,我希望内部人员可以通过我创建的管理区域访问它。对于管理区域,我想改用 Windows 身份验证。我在我的开发环境中使用 IIS Express。我的 Admin/CMS 控制器像这样装饰
[Authorize(Roles = @"ECR")]
public class CMSController : Controller
我尝试添加<authentication mode="Windows" />
到区域/管理中的 Web.config system.web 部分。
当我尝试登录到 Admin/CMS 区域时,它只会让我回到我在项目级别 Web.config 的标记中设置的 loginUrl。如果我已登录,它只会将我弹回主页。
我已经阅读了几篇关于使用 IIS Express 设置 Windows 身份验证的文章,并在 Web 项目的属性中找到了关闭“匿名身份验证”的建议。我这样做了,管理员/CMS 工作正常,如果我是该组的一员,则允许我加入,如果我不是,则拒绝我。但是,关闭匿名身份验证会破坏我网站的表单身份验证部分。既然这样有效,我尝试通过 system.webServer 部分在我的 Areas/Admin/Web.config 中关闭匿名身份验证,使用:
<security>
<authentication>
<anonymousAuthentication enabled="false" />
</authentication>
</security>
没有成功。
我在这里做错了什么?谢谢