В настоящее время я работаю над администрированием сайта, и мне было интересно, как лучше всего проверить, вошел ли пользователь в систему и отображает ли маршруты для доступа к нему.
Из документации метеора Iможно увидеть: 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 }
}}
/>
)
}
/>
);
Несмотря на то, что я проверяю, что все изменения в базе данных также проверяются на стороне сервера, я не хочу предоставлять незащищенный доступ к моей администрации.