我正在尝试为反应路由创建服务器端auth防护。我的流程就像......只要在前端点击路由,就会进行后端调用以检查用户的会话是否存在于数据库中(因为我们将会话存储在数据库中以跟踪会话)。
这是我的应用组件代码:
org.springframework.data.mongodb.core.ReactiveMongoTemplate=DEBUG
我已将经过身份验证的路由隔离到单独的类组件中 像:
export default function App() {
const routeComponents = routes.map(({ path, component }) => <AuthenticatedRoute exact path={path} component={component} props={'exact'} key={path} />);
return (
<div>
{window.location.origin === constant.PRODUCTION_DOMAIN_NAME && <Route
path="/"
render={({ location }) => {
if (typeof window.ga === 'function') {
window.ga('set', 'page', location.pathname + location.search);
window.ga('send', 'pageview');
}
return null;
}}
/>}
<Switch>
<Route path="/login" component={LoginPage} />
{routeComponents}
</Switch>
<ToastContainer autoClose={constant.TOASTER_FACTOR} closeButton={false} hideProgressBar />
</div>
);
}
App.propTypes = {
component: PropTypes.any,
};
但我遇到登录页面被重定向两次的问题。有人能让我知道更好的方法吗?