ノードとエクスプレスを使用しています。動画ファイルがパブリック フォルダーに存在するように (クライアントに提供できるように)、許可されていないユーザーがブラウザーの URL から直接アクセスできないように、動画ファイルへのアクセスを制御したいと考えています。
通常の html5 ビデオ タグを使用してクライアントにビデオを提供したい:
<video width="320" height="240" controls>
<source src="mp4 video file" type="video/mp4">
<source src="ogg video file" type="video/ogg">
Your browser does not support the video tag.
</video>
これは可能ですか?どのように実装できますか?ありがとう
----------------------- この方法で解決: ----------------------
ミドルウェアを使用して解決しました。それは私よりもはるかに簡単でした。
アプリのパブリック フォルダーにあるビデオ フォルダーにファイルを配置しました。この行を application.js ファイルに追加しましたが:
app.get('/videos/*', authenticationFunction(), function(req, res, next) {
next();
});
authenticationFunction は、ユーザーがビデオ フォルダーのファイルへのアクセスを許可されているかどうかを確認します。
authenticationFunction は次のようになります。
var authenticationFunction = function(){
return function(req, res, next) {
if(the user is authorized to access the files){
return next();
} else{
return next(new Error('unauthorized video access'));
}
}
}
最後に、app.use 関数のアプリ構成で、「無許可のビデオ アクセス」エラー処理部分を追加しました。
とにかくありがとう