当前位置: 首页 > 编程语言 > C#

ASP.NETCore通过web.config授权AD组共享

时间:2023-04-10 18:59:52 C#

ASP.NETCore通过web.config授权AD组在我的旧.NETMVC应用程序中,我可以在IIS中启用Windows身份验证并禁用匿名。然后在我的web.config文件中,我只需键入:在.NETCore2.0中,这将不起作用-它会正确拒绝匿名,但无论如何都会授权所有用户。如果我这样做:[Authorize(Roles="Domain\MyADGroupToHaveAccess")]在我的HomeController中,它可以工作,但我不想在我的项目中硬编码此设置,因为它需要针对其他环境进行更改。如何使web.config使用AD授权?还是有另一种方法可以不在ASP.NETCore中硬编码此设置?我通过将它变成一个能够调用appsettings.json的策略来解决这个问题。这样,其他有权访问服务器的人就可以将群组编辑为自己的群组。在Startup.cs中:services.AddAuthorization(options=>{options.AddPolicy("ADRoleOnly",policy=>policy.RequireRole(Configuration["SecuritySettings:ADGroup"]));});services.AddMvc(config=>{varpolicy=newAuthorizationPolicyBuilder().RequireAuthenticatedUser().Build();config.Filters.Add(newAuthorizeFilter(policy));});在appsettings.json(或者appsettings.production如果你有不同的.json):ADRoleOnly")]希望这对其他人有帮助我还必须弄清楚如何在全球范围内应用此策略,这样我就不必授权每个控制器,我想这可以在services.AddMvc中以某种方式完成?以上是C#学习教程:ASP.NETCore对AD组通过web分享的所有内容进行授权。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处: