gpt4 book ai didi

reactjs - ASP.NET core如何仅对特定路由使用身份验证?

转载 作者:行者123 更新时间:2023-12-03 08:03:48 28 4
gpt4 key购买 nike

我配置为对我的 ASP.NET React 应用程序使用 Windows 身份验证。

在ConfigureServices()方法上:

services.AddAuthentication(NegotiateDefaults.AuthenticationScheme).AddNegotiate();
services.AddAuthorization(options =>
{
options.FallbackPolicy = options.DefaultPolicy;
});

然后在configure()方法上:

app.UseAuthentication();
app.UseAuthorization();
app.UseEndpoints(endpoints =>
{
endpoints.MapControllers();
});

但是,通过这样做,所有请求都将触发身份验证过程。我实际上只希望我的 api 路由(在 /api/my/resource 中)使用 Windows 身份验证是安全的,并且希望让整个 React 资源文件夹公开(在 /any/中)路径/此处)。

如何配置为仅对以 /api 开头的路由使用 Windows 身份验证。

最佳答案

我通过这样做实现了这一目标:

services.AddAuthorization(options =>
{
// don't use default policy
// options.FallbackPolicy = options.DefaultPolicy;
});

然后将[Authorize]添加到需要身份验证的 Controller 中。

[Authorize]     // trigger authentication process
[Route("api/[controller]")]
[ApiController]
public class MyController : ControllerBase {}

然后我可以选择特定的路由来要求身份验证。

关于reactjs - ASP.NET core如何仅对特定路由使用身份验证?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73114908/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com