展開されたサーバー ダッシュボードをどのように保護しますか? 理想的には認証あり。
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 に答える