我正在寻找一些帮助实现Windows身份验证/授权在.NET核心6。我找不到任何关于这个主题的好视频,并计划使一个一旦我完成这个项目。
我找到了以下文档https://learn.microsoft.com/en-us/aspnet/core/security/authentication/windowsauth?view=aspnetcore-7.0&tabs=visual-studio
并实现了这个代码:
using Microsoft.AspNetCore.Authentication.Negotiate;
var builder = WebApplication.CreateBuilder(args);
builder.Services
.AddAuthentication(NegotiateDefaults.AuthenticationScheme)
.AddNegotiate();
builder.Services
.AddAuthorization(options =>
{
options.FallbackPolicy = options.DefaultPolicy;
});
现在,这是实现了,我似乎找不到我会指定哪些用户被允许访问网站。我想这样的设置,所以没有用户登录,但只要他们使用的windows帐户是正确的组的一部分,他们可以访问网站的一部分,是为该组设置。
到目前为止,我唯一需要保护的是一个Web API,但是在未来也会有一个前端来保护(可能是Blazor)。
有人能给我介绍一下实现这个的教程吗?或者告诉我如何设置这个?
1条答案
按热度按时间yruzcnhs1#
有人能给我介绍一下实现这个的教程吗?或者告诉我如何设置这个?
根据描述,我建议您可以创建一个声明传输类来查询角色,并在使用windows身份验证时将其添加到声明中。
然后,您可以直接使用"授权角色"属性,仅允许特定组使用该控制器。
更多细节,您可以参考以下代码:
将其注入program.cs中
用法: