2

ユーザーがログインし、ログインするとビデオを見ることができるIIS8 Webサイトを開発しています。HTML5 を使用して、最長 6 時間の動画を配信したいと考えています<video />。ログイン資格情報を他のユーザーと共有できないように、ユーザーを 1 回のログインのみに制限したいと考えています。これは有料サイトになります。静的ページ (非ビデオ) の場合、これは簡単ですが、ビデオの場合はどうすればよいかわかりません。HTML5 ビデオの再生が開始されたら、ユーザーが再度ログインできないようにするにはどうすればよいですか? または、再度ログインした場合、最初のログインからビデオの再生を中断する方法はありますか? アイデアを聞きたい...

ありがとうデビッド

4

2 に答える 2

2

あなたのフレームワークと基準についてはよくわかりませんが、セッションがまだアクティブであることを確認するために X 分ごとにサーバーにリクエストを送信することを検討jQueryしましたか? aJaxテストされていない ajax のサンプルを次に示します。Javascript の setTimeout 関数を使用して、x 分ごとに送信します。

$.ajax({
      url: "yourpage.asp",
      type: "post",
      data: "sessionId=sessionIdVal",
      dataType: "json",
      success: function(msg){
          //Do Logic Here with msg
      }  
    }); 

そしてドキュメンテーション

幸運を。

于 2013-01-18T16:46:09.370 に答える
1

sgeddesの回答について詳しく説明すると、過去に使用した解決策は次のとおりです。ユーザーがログインすると、ユーザーのCookieとルックアップテーブルの両方に格納されるGUIDが生成されます。したがって、ユーザーが再度ログインするとGUIDが生成されます。 (およびタイムスタンプ)が変更されます-n秒ごとに、クライアントがサーバーをポーリングして、正しいGUIDがあることを確認します。そうでない場合は、ビデオを停止して、最新のログインのみが引き続き機能するようにします。

ただし...これにはいくつかの問題があります。ビデオが一度接続された単一のプログレッシブストリームである場合、ユーザーがビデオをダウンロードしてローカルで視聴するのを止めることはできません。本当にトリッキーになりたい場合は、ポーリングjavascriptを中断して、チェックを停止するだけです。

さらに詳しく知りたい場合は、ビデオをさらに配信する前にCookieトークンの有効性をチェックするサーバー側ハンドラーを実装できます(http://blog.offbeatmammal.com/post/2006/06/30に似ています)。 /Using-ASPNET-to-restrict-access-to-images.aspx)ただし、<video>要素は、長さや事前バッファリングの量に応じて、バッファリングせずに再生するのに十分な量のビデオをダウンロードするのが最善です。チェックが開始されるまでに行われるのは遅すぎる可能性があります。

于 2013-01-18T16:58:09.270 に答える