我目前正在为网站管理,我想知道检查用户是否登录并呈现路由以获取访问权限的最佳方法是什么。
从meteor的文档中我可以看到:https://docs.meteor.com/api/accounts.html#Meteor-userId
这是一种非常方便的方式,但我想知道它是否足够安全以在客户端呈现管理路由。
以下是我想要做的一个例子:
const checkFunction=()=>{
if(Meteor.isClient){
return Meteor.userId();
}
}
const PrivateRoute = ({ layout, component, ...rest }) => (
<Route
{...rest}
render={props =>
checkFunction() ? (
React.createElement( layout, props, React.createElement(component, props))
) : (
<Redirect
to={{
pathname: "/login",
state: { from: props.location }
}}
/>
)
}
/>
);
尽管我确保服务器端也检查了数据库上的每个修改,但我不想对我的管理进行不安全的访问。