如何为ASP.Net 5(MVC6)内联网应用程序使用活动目录

克拉玛

我正在开发一个Intranet应用程序,并希望使用现有的组织Active Directory进行用户身份验证和基于策略的角色授权。

有人可以指出我正确的方向吗?我有点困惑(实际上很多困惑)。

谢谢

里克

http://docs.asp.net/zh/latest/security/index.html下的每个身份验证和自动化资源

首先启动一个新的ASP.Net Web应用程序项目,选择Web应用程序模板,然后在右窗格中按“更改身份验证”按钮,然后选择“ Windows身份验证”。

现在,您可以[Authorize]在类或方法上使用RC2来检查基本身份验证与活动目录,您只需使用组名即可[Authorize(Roles=@"DOMAIN\GROUP")]

现在已过时且繁琐的替代方案(仍然有效):

如果您看一下,User.Claims可以看到每个用户组都存在groupsid键。可以做一些类似的事情[Authorize(Policy="FOOBAR")],然后Startup.ConfigureServices通过以下方法在您的方法中对其进行定义

        services.AddAuthorization(
            o => o.AddPolicy(
                "FOOBAR",
                p => p.RequireClaim("http://schemas.microsoft.com/ws/2008/06/identity/claims/groupsid",
                    "ENTER GROUP SID")
                ));

请注意,RequireClaim的第二个参数是一个字符串数组,可用于多个组。

另请注意通过此命令行魔术来找出组ID dsquery group -name “ENTER GROUP NAME” | dsget group -sid

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何为ASP.NET Core / Angular Web应用程序创建安装程序?

在ASP.Net MVC 5应用程序中访问页面时,如何保持活动菜单项突出显示?

如何为ASP.NET 5项目设置TeamCity构建

如何在IIS上运行ASP.NET MVC6而不发布应用程序

如何为ASP.NET 5 MVC 6实现NoSQL Identity提供程序

ASP.NET 5(MVC6)如何为用户播种

如何为ASP.NET Core Angular应用设置默认端口

如何为ASP.NET Core服务提供程序编写EasyNetQ自动用户分派器?

如何为ASP.NET Core应用配置Azure应用服务日志记录提供程序?

如何为ASP.NET Core 3.1配置Azure App Service应用程序设置?

如何为ASP.NET MVC操作生成URL,包括主机名和端口?

如何为Asp.NET MVC 5创建ClaimsIdentity对象?

如何为工作站应用程序成功自托管ASP.NET MVC应用程序或OData服务?

如何为将由PageHandlerFactory处理的ASP.NET中的每个请求添加事件处理程序

如何为ASP.NET MVC编写路由

如何为ASP.NET MVC应用编写脚本ElasticBeanstalk部署

如何为asp.net MVC 5实现ViewModels?

如何为ASP.NET MVC使用Year Picker

如何为部署到AWS Elastic Beanstalk的ASP.NET应用程序设置应用程序池标识

托管ASP.NET MVC6应用程序的最佳方法是什么

如何为MVC(ASP.NET)项目正确使用NUGET?

如何为Asp.Net授权Google Stmpt。当我使用时出现以下错误

asp.Net MVC如何为图表中的每个条形设置颜色?

如何为asp.net mvc和Web API实施相同的身份验证机制

如何为ASP.NET允许CORS

我未注册服务的Web API ASP.NET MVC6应用程序上的异常

如何为ASP.Net MVC项目创建启动器项目

如何为 Angular 2 和 ASP.NET Core MVC 共享环境变量

如何设置 ASP.NET MVC 5 应用程序以使用 PrimeVue 组件?