如何通过基于Spring Boot的身份验证来保护reactjs资源?]

问题描述 投票:1回答:1

我当前的项目状态:

  • 我正在使用带有ReactJs(前端)和spring boot(后端)的Web应用程序。
  • [部署此应用程序时,我使用gradle-node-plugin将响应代码与spring boot jar打包在一起>
  • 问题:

    • 我知道我应该提供所有需要服务器身份验证的资源。 -但是,我很难理解是否有办法将我的react项目的某些组件/路由置于身份验证API之后。
  • 一个例子是Google文档,其中Google不允许您在未实际登录的情况下创建任何新文档(甚至看不到文本画布。)>
  • [目前,只有从数据库中加载的数据受Spring安全性保护,但我的React项目中也有一个用Javascript编写的设计工具,我也希望对其进行保护。
  • 这是通过Spring安全性实现的吗,还是我应该假设我的React项目下的所有内容都可以公开访问?
  • 换句话说,我如何保护仅基于JavaScript的UI的页面,在该页面中您不会进行任何后端调用来获取身份验证信息。
  • 谢谢!

    我当前的项目状态:我正在使用ReactJs(前端)和spring boot(后端)来开发Web应用程序。部署此应用程序时,我使用...

在页面加载时调用Authenticate API,以查看用户的会话是否已通过身份验证。我认为Spring Security可以做到这一点。根据响应,您可以限制路线。

<Route
      {...rest}
      render={({ location }) =>
        authenticateApiResponse.authenticated ? (
          <Redirect
            to={{
              pathname: "/profile",
              state: { from: location }
            }}
          />
        ) : (
          <Redirect
            to={{
              pathname: "/login",
              state: { from: location }
            }}
          />
        )
      }
    />

现在用户只有通过后端API验证的用户才能进入个人资料

屏幕。
reactjs spring-boot spring-security react-router-dom gradle-node-plugin
1个回答
0
投票

在页面加载时调用Authenticate API,以查看用户的会话是否已通过身份验证。我认为Spring Security可以做到这一点。根据响应,您可以限制路线。

© www.soinside.com 2019 - 2024. All rights reserved.