Kar*_*ara 2 asp.net authentication single-page-application reactjs asp.net-core
我配置为对我的 ASP.NET React 应用程序使用 Windows 身份验证。
在ConfigureServices()方法上:
services.AddAuthentication(NegotiateDefaults.AuthenticationScheme).AddNegotiate();
services.AddAuthorization(options =>
{
options.FallbackPolicy = options.DefaultPolicy;
});
Run Code Online (Sandbox Code Playgroud)
然后在configure()方法上:
app.UseAuthentication();
app.UseAuthorization();
app.UseEndpoints(endpoints =>
{
endpoints.MapControllers();
});
Run Code Online (Sandbox Code Playgroud)
但是,通过这样做,所有请求都将触发身份验证过程。实际上,我只希望我的 api 路由(在 中/api/my/resource)使用 Windows 身份验证是安全的,并且希望让整个 React 资源文件夹公开(在 中/any/path/here)。
如何配置为仅对以/api.
我通过这样做实现了这一点:
services.AddAuthorization(options =>
{
// don't use default policy
// options.FallbackPolicy = options.DefaultPolicy;
});
Run Code Online (Sandbox Code Playgroud)
然后添加[Authorize]需要认证的控制器。
[Authorize] // trigger authentication process
[Route("api/[controller]")]
[ApiController]
public class MyController : ControllerBase {}
Run Code Online (Sandbox Code Playgroud)
然后我可以选择特定的路由来要求身份验证。
| 归档时间: |
|
| 查看次数: |
3234 次 |
| 最近记录: |