좋아요, 그래서 저는 약간 Meteor.js와 약간 혼돈 스럽습니다. 다양한 컨셉을 테스트 할 사이트를 만들었고 정상적으로 작동했습니다. "안전하지 않음"과 "자동 게시 취소"를 제거한 후에는 서버를 검색하여 서버에 푸시하려고 할 때 여러 번의 "액세스 거부"오류가 발생합니다. 나는 다음 코드와 함께 할 수있는 뭔가가 보라 :Meteor.js 게시 및 구독?
Template.posts.posts = function() {
return Posts.find({}, {sort: {time: -1}});
}
내가 그것이 "불안"과 "autopublish"활성화 된하지만 한 번 할 수 한, 직접 컬렉션에 액세스를 시도하고 있다고 생각 그것은 접근이 거부되었다는 것을 불가능하게했다. 내가 생각하는 또 다른 부분은 문제가있다 :에게 허용되지 않는, 직접 컬렉션에 액세스하려고 :
else {
Posts.insert({
user: Meteor.user().profile.name,
post: post.value,
time: Date.now(),
});
가 나는 것은 같은 종류의 일이 일어나고 있다고 생각합니다.
제 질문은 어떻게 다시 보안을 적용하여 "안전하지 않은"및 "자동 게시"가 필요하지 않도록 할 수 있습니까?
감사합니다.
최종 편집 :
/**
* Models
*/
Posts = new Meteor.Collection('posts');
posts = Posts
if (Meteor.isClient) {
Meteor.subscribe('posts');
}
if (Meteor.isServer) {
Meteor.publish('posts', function() {
return posts.find({}, {time:-1, limit: 100});
});
posts.allow({
insert: function (document) {
return true;
},
update: function() {
return false;
},
remove: function() {
return false;
}
});
}
이 그래, 당신이 선언의 모든 질문에 대한 답변 "이 작업은 허용하지 않습니다" 변수 'Posts'는 서버에있는 'posts'로 액세스하려고 시도합니다. 실행되지 않는 코드를 보여주는 질문과 대답이있는 것처럼 오타를 수정해야합니다. – user728291