2017-01-02 38 views
2

私はシングルページノードエクスプレスの私のウェブサイトの管理パネルを構築しています。Node.js秘密の静的ファイル

私は、1つの管理ビューファイルを持ち、jQueryやAJAXなどでhtmlの一部を読み込むことに決めました(まだ決定していません)。

静的ファイルフォルダからこれらのファイルを提供する必要があります(クライアント側にロードする必要があるため)。しかし、ここで問題となるのは、これらのファイルは現在誰でも(.css .jsファイルなども)avaibleです。

これらのファイルをユーザーから隠す方法はありますか?または、公開されていないクライアント側の特定のファイルやロードファイルを非表示にする方法はありますか?

そして私の管理用ビューファイルの中にすべての.cssと.jsコードを挿入したくありません。ここでの解決策が見つかりました

SOLUTION

How to secure a static route with Express and Nodejs

重複して申し訳ありませんが、私は前にそれを見つけることができませんでした。

+1

らしいです誰がそれを見ることを許可されています。承認または[this one](https://www.npmjs.com/package/acl)を処理する[このnpmパッケージ](https://www.npmjs.com/package/express-authorization)をご覧ください。注:承認は認証とは異なります。それがあなたのニーズに役立ち、合っているかどうかをお知らせください。 –

+0

@BrunoGrisoliaCasarottiあなたの答えをありがとう。別の質問で解決策を見つけました。面白いパッケージを共有してくれてありがとう。 –

答えて

2

あなたはパスポートのような認証のいくつかの種類を使用する必要がありますし、ミドルウェアは、あなたの静的ファイルを保護するために役立つことができます:あなたがそれらに提供されるべきファイルを処理するための認可のいくつかの種類を使用する必要があるよう

app.use('/admin', function(req,res,next){ 
if(req.user){ 
    return express.static(path.join(__dirname, 'public')); 
} else { 
    res.render(403, 'login', {message:'Please, login!'}); 
} 
}); 
+0

ありがとうございます。これは私にとって効果的で簡単な魂のように思えます。残念ながら、express.static関数は他の関数の中で私のために働いていません。 –