0

展開されたサーバー ダッシュボードをどのように保護しますか? 理想的には認証あり。

4

3 に答える 3

0

認証に加えて、データ入力ユーザーのみに制限しています。完璧ではありませんが (リソースの削除ボタンも削除したい)、次のようになります。

env.sh

# this makes deployd require key for /dashboard
export NODE_ENV=production

.production.patch (events-config-editors を無効にする)

--- node_modules/deployd/lib/resources/dashboard/index.ejs  2016-11-21 16:10:05.406025488 +0100                                                                                               
+++ node_modules/deployd/lib/resources/dashboard/index.ejs.new  2016-11-21 16:09:51.009794524 +0100
@@ -65,7 +65,7 @@
         <a href="#" class="options"><span class="caret"></span></a>
         <% if (type && type.dashboardPages) { %>
           <ul class="nav pages type-icons <%= isCurrent ? '' : 'hide' %>">
-            <% type.dashboardPages.forEach(function(p) { %>
+            <% type.dashboardPages.forEach(function(p) { if( p.match(/Config|Events|Properties/) != null ) return %>
               <li <%- isCurrent && (Context.page || '').toLowerCase() === p.toLowerCase() ? 'class=active' : ''%>  ><a href="/dashboard/<%= resource.id %>/<%= p.toLowerCase() %>/"><i class="icon-white icon-custom <%= p.toLowerCase() %>"></i> <%= p %></a></li>
             <% }); %>
           </ul>

.git/hooks/post-merge (git pull 時に自動的に呼び出されます)

#!/bin/bash

# disallow users from changing resource schema's, event-code and config.json
patch -Np0 < .production.patch

[[ ! -n $NO_NPM ]] && npm update
于 2016-12-14T17:51:35.707 に答える