首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用ReactJS SPA的.net核心中的身份验证

使用ReactJS SPA的.net核心中的身份验证
EN

Stack Overflow用户
提问于 2019-05-29 21:33:42
回答 2查看 2.4K关注 0票数 2

我尝试向.net Core2.1应用程序添加身份验证。从头开始:我们可以使用VS模板通过react创建新的web应用程序。

在这个tempate中,我们可以看到:

代码语言:javascript
运行
复制
app.UseSpa(spa =>
{
    spa.Options.SourcePath = "ClientApp";
    spa.ApplicationBuilder.UseAuthentication();


    if (env.IsDevelopment())
    {
        spa.UseReactDevelopmentServer(npmScript: "start");
    }
});

我还添加了带有登录/注册端点的身份验证控制器和视图。

在登录到应用程序之前,我如何添加拒绝访问SPA的逻辑?

我知道如何使用asp.net identity regullary,但是对于这个SPA我需要一些建议。

EN

Stack Overflow用户

回答已采纳

发布于 2019-05-30 15:40:53

在中间件中,您可以检查用户是否通过了身份验证,例如:

代码语言:javascript
运行
复制
app.UseSpa(spa =>
{
    spa.ApplicationBuilder.MapWhen(
        (context)=>!context.User.Identity.IsAuthenticated, 
        ab => {
            ab.Run(async (ctx )=> {
                ctx.Response.StatusCode = 401;
                //redirect to login page
                ctx.Response.Headers.Add("Location", "....");
                //await ctx.Response.WriteAsync("Authecation Failed");
            });
        }
    );

    spa.Options.SourcePath = "ClientApp";

    if (env.IsDevelopment())
    {
        spa.UseReactDevelopmentServer(npmScript: "start");
    }
});
票数 4
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56361859

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档