ASP.NET MVC的authorize属性用于控制对特定控制器或操作方法的访问权限。要让authorize属性与嵌套AD组中的用户一起工作,可以按照以下步骤进行配置:
<system.web>
<authentication mode="Windows" />
<roleManager enabled="true" defaultProvider="AspNetWindowsTokenRoleProvider" />
</system.web>
using System.DirectoryServices.AccountManagement;
using System.Web.Mvc;
public class CustomAuthorizeAttribute : AuthorizeAttribute
{
protected override bool AuthorizeCore(HttpContextBase httpContext)
{
using (var context = new PrincipalContext(ContextType.Domain))
{
var userPrincipal = UserPrincipal.FindByIdentity(context, httpContext.User.Identity.Name);
var groupPrincipal = GroupPrincipal.FindByIdentity(context, "YourNestedGroup");
if (userPrincipal != null && groupPrincipal != null)
{
return userPrincipal.IsMemberOf(groupPrincipal);
}
}
return false;
}
}
[CustomAuthorize]
public class HomeController : Controller
{
// ...
}
通过以上步骤,ASP.NET MVC的authorize属性将与嵌套AD组中的用户一起工作。只有属于嵌套组的用户才能访问被标记的控制器或操作方法。
腾讯云相关产品和产品介绍链接地址:
领取专属 10元无门槛券
手把手带您无忧上云