【问题标题】:Managing MEAN stack website (newbee)管理 MEAN 堆栈网站 (newbee)
【发布时间】:2016-04-13 00:32:10
【问题描述】:

我对 Web 开发比较陌生,我已经开始研究使用 MEAN 平均堆栈进行开发。我有一个非常简单的问题。

所以,假设我正在创建一个简单的网页,显示来自 mongo db 的水果列表。最终用户只会看到这个水果列表。但是,我希望能够编辑此列表。那么我是否必须创建另一个页面(如管理页面)才能做到这一点?另外,我如何创建它以便只有我可以访问管理页面。

我猜我必须制作另一个页面,从同一个数据库中提取并编辑/添加或其他任何内容。我担心的是我将如何保持这个管理页面的私密性。请注意该网站没有任何“用户登录”

谢谢!

【问题讨论】:

    标签: mongodb web content-management-system admin meanjs


    【解决方案1】:

    我对平均堆栈也很陌生。我认为最简单的方法是实现某种用户登录系统,所有客人都可以查看列表,只有登录的用户可以编辑列表。如果你克隆 meanjs 的官方git repo 有一个名为文章的示例模块,用户可以在其中创建但每个人都可以查看。从那里开始,看看他们如何实现每个页面和路由的权限。祝你好运。

    编辑:

    要在服务器首次启动时添加默认管理员用户,请查看 /config/env/default.js 和 production.js。在那里,您将能够使用默认凭据为管理员用户播种。在此之后,您可以删除注册页面和路由,这样任何人都无法创建新用户,而只能保留默认管理员用户的登录。

    对于创建管理页面,创建一个新视图并将其添加到客户端的路由中,但只允许管理员请求视图。 /client/config/client.config.js 中的类似内容:

    Menus.addSubMenuItem('topbar', 'fruits', {
      title: 'Edit fruits',
      state: 'fruits.edit',
      roles: ['admin']
    });
    

    在 /client/config/client.routes.js 中:

    .state('fruits.edit', {
        url: '/edit',
        templateUrl: 'path/client/views/editfruit.client.view.html',
        controller: 'fruitcontroller',
        controllerAs: 'vm',
        data: {
          roles: ['admin'],
          pageTitle: 'Edit fruit'
        }
      })
    

    希望这会有所帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-09-20
      • 2014-05-09
      • 2017-11-09
      相关资源
      最近更新 更多