meteor, angular 및 패키지 ui-router 및 alanning : 역할을 사용하여 앱을 개발할 때 문제가 발생했습니다. 구성 요소의 내부에서, 나는 특정 역할에서 로그인 한 사용자에 사용할 수있는 특정 경로를 wan't, 그래서 나는 다음과 같은 기능과 구성 요소를 구성합니다각도 ui-router 및 alanning : 역할을 사용하여 새로 고칠 때 Meteor.user()가 정의되지 않았습니다.
그것은 잘 작동function config($stateProvider) {
'ngInject';
$stateProvider.state('customers', {
url: '/customers',
template: '<customer-list></customer-list>',
resolve: {
currentUser($q) {
const userId = Meteor.userId();
if (userId && Roles.userIsInRole(userId, ['admin'])) {
console.log('customers.USER_REJECTED');
return $q.reject('AUTH_REQUIRED');
} else {
console.log('customers.USER_ALLOWED');
return $q.resolve();
}
}
}
})
}
하지만이 페이지를 새로 고침 할 때, 사용자가 실제로 구현 한 논리에 따라 실제로 로그인 한 경우에도 경로에 액세스 할 수없는 경우가 있습니다. 그러면 수동으로/customers로 이동하면 사용자는 여전히 입력 할 수 없지만 유일한 요구 사항이 로그인되어있는 다른 URL로 이동하면 사용자가 입력 할 수 있습니다. 나는 페이지를 새로 고침 할 때 Meteor.user()가 undefined를 반환했는지 확인 했으므로 역할 검사가 false를 반환하는 이유가 여기에 있다고 가정합니다. 이 커뮤니티에서 제안 된 몇 가지 솔루션을 확인했지만 그 중 어떤 것도 만들 수 없습니다. 나 한테 손을 줘 줄래?
감사합니다.
감사합니다. – vantesllar