使用ryw时遇到的问题:博客和用户角色

时间:2016-03-10 17:31:22

标签: javascript meteor blogs iron-router roles

我是第一次在meteor中使用博客和角色,并且我在使用ryw时遇到了几个(和奇怪的)问题:博客和alanning:角色。我使用mrt:accounts-admin-ui-bootstrap-3软件包管理角色。 我现在的主要问题(我将在新线程中发布其他问题)是下一个:

使用ryw:blogs包时,角色看起来不正常。我有2个用户。其中一个是分配了 admin blogAdmin 角色的“超级用户”(此用户可以访问“用户管理区域”)。另一个用户只分配了 blogAuthor角色,但我可以查看和编辑所有帖子,例如blogAdmin用户。 我认为这可能是一些路由问题(我使用铁路由器),因为如果我刷新页面,角色工作正常,我只能看到和编辑自己的帖子。我正在他的github存储库[https://github.com/meteor-blog/example-blog-app][1]中的ryw:blog示例应用程序中创建我的博客 角色工作正常,因为当我使用mrt:accounts-admin-ui-bootstrap-3添加角色时,角色将在用户帐户集合的角色字段中分配(在mongoDB控制台中检查)。 所有的建议都很好!提前谢谢!

这是我的代码

Router.js

Router.configure({
  layoutTemplate: 'layout'
});
Router.route('/', function () {
  this.render('home');
});

Router.route('/users', function () {
  this.render('adminTemplate');
});

服务器/ server.js

 Meteor.startup(function () {
            // bootstrap the admin user if they exist -- You'll be replacing the id later
            if (Meteor.users.findOne("userId"))
                Roles.addUsersToRoles("userId", ['admin']);
            // create a couple of roles if they don't already exist (THESE ARE NOT NEEDED -- just for the demo)
            if(!Meteor.roles.findOne({name: "secret"}))
                Roles.createRole("secret");

            if(!Meteor.roles.findOne({name: "double-secret"}))
                Roles.createRole("double-secret");
        });

LIB / blog.js

Blog.config({

      adminRole: 'blogAdmin',
      authorRole: 'blogAuthor',
      title: "Meteor Blog Example",
      syntaxHighlighting: true,
      syntaxHighlightingTheme: 'github',
      blogIndexTemplate: 'blog',
      blogShowTemplate: 'show',
      comments: {
        disqusShortname: 'blogpackage'
      },
      rss: {
        title: 'Example Blog App',
        description: 'This is an example application for meteor-blog package'
      }
    });

的客户机/ home.html做为

<template name="home">
  <div class="container">
    <p class="lead">
      This is an example project using the
      <a href="https://github.com/Differential/meteor-blog">Meteor Blog</a> package.
    </p>
    <p>
      {{> blog}}
      {{> blogLatest num=5}}
    </p>
  </div>
</template>

的客户机/ header.html中

<template name="header">
  <div class="navbar navbar-default" role="navigation">
    <div class="container">
      <div class="navbar-header">
        <a href="/" class="navbar-brand">Meteor Blog Example</a>
      </div>
      <div class="navbar-collapse collapse">
        <ul class="nav navbar-nav navbar-left">
          <li>
            <a href="{{blogPathFor "blogIndex"}}">Blog</a>
          </li>
          <li>
            <a href="{{blogPathFor "blogAdmin"}}">Admin Area (must login)</a>
          </li>
        </ul>
        <ul class="nav navbar-nav navbar-right">
          {{> loginButtons}}
        </ul>
      </div>
    </div>
  </div>
</template>

的客户机/博客

<template name="blog">
  <div class="container">
    {{> blogIndex}}
  </div>
</template>

客户端/显示

<template name="show">
  <div class="container">
    {{> blogShow}}
  </div>
</template>

0 个答案:

没有答案