ASP.NET MVC 4在单个控制器上应用Windows身份验证

本文关键字:应用 Windows 身份验证 控制器 单个 NET MVC ASP | 更新日期: 2023-09-27 18:04:47

我有一个MVC 4应用程序是开放给所有用户,不需要登录。有一个控制器只有,我需要通过Web应用Windows身份验证。配置,像这样:

  <authentication mode="Windows" />
    <authorization>
      <allow users="domain'jsmith" />
      <deny users="*" />
    </authorization>

控制器将MySite.Com/MyApp/MyAdminReportController

如果这是可能的,怎么做?

ASP.NET MVC 4在单个控制器上应用Windows身份验证

我认为你只需要Windows授权并指定只需要授权的路径。如果你不需要表单验证,它看起来像这样:

<configuration>
  ...
  <system.web>
    ......
    <authentication mode="Windows">
    </authentication>
  </system.web>
  <location path="MyAdminReport">
    <system.web>
      <authorization>
        <deny users="?" />
      </authorization>
    </system.web>
  </location>
</configuration>

这是web配置方法,其他选项是添加[authorization]属性到您的控制器(即使不是hole控制器,您也可以为特定操作添加此属性)。

[Authorize]
public class MyAdminReportController : Controller
{
   //[Authorize]
   public ActionResult PrivatePage()
   {
      return View();
   }

}