首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Asp.Net MVC3:具有特殊AD组用户的intranet应用程序?

Asp.Net MVC3:具有特殊AD组用户的intranet应用程序?
EN

Stack Overflow用户
提问于 2012-09-12 15:13:38
回答 2查看 454关注 0票数 0

我看到我可以创建一个使用NTLM身份验证的intranet身份验证。这几乎就是我需要的。此外,我还需要检查用户是否在AD中的指定组中。

有没有简单的方法可以做到这一点?它适用于一个非常小的web应用程序(8-10天的开发)。

谢谢

EN

回答 2

Stack Overflow用户

发布于 2012-09-12 15:34:30

代码语言:javascript
运行
复制
var ctx = new PrincipalContext(ContextType.Domain);

var userPrincipal = UserPrincipal.FindByIdentity(ctx, IdentityType.SamAccountName, userName);

 var groups = userPrincipal.GetGroups();

这里有与当前用户相关联的所有第一级组。如果你想更深入地检查,比如第一级组所属的组,你必须编写递归函数,它将遍历整个组图。

代码语言:javascript
运行
复制
var ctx = new PrincipalContext(ContextType.Domain);

var groupPrincipal = GroupPrincipal.FindByIdentity(ctx, IdentityType.SamAccountName, childGroup.SamAccountName);

var currentLevelGroups = groupPrincipal.GetGroups();

使用这三行代码,您可以获得指定组的父组。

您可以在每个步骤中检查给定的组是否属于收集到的组,如果是,则中断并返回true。

票数 1
EN

Stack Overflow用户

发布于 2012-10-08 17:25:55

您可以向有问题的控制器添加Authorize属性,并使用一个参数来检查组。

例如

代码语言:javascript
运行
复制
 [Authorize("mydomain/admin")]
 public class MyController : Controller
 {

 }

您还需要在网站上启用windows身份验证。

HTH

是的

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12382917

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档