2009-10-02 4 views
0

YouTube에서 알다시피 동영상을 올리면 공개 또는 비공개로 설정해야합니다. 그것은 누구나 쉽게 접근 할 수있는 대중입니다. 비공개 사용자 만 원래 업 로더가 액세스 할 수 있으며 로그인하려면 로그인해야합니다. 나는 그것과 같은 종류의 것을 만들 필요가있다. 플래시 대신 QuickTime 점진적 다운로드를 사용하는 레일 앱을 만들고 있는데 기본적으로 일부 dns/video.mov를 가리키는 src와 함께 embed 태그를 사용합니다. 그러나 나는 비디오가 공개 도메인에있게 할 수는 없습니다. 머리 위로 내 옵션이 될 수 있습니까?비공개 동영상 스트리밍

답변

0

사용자가 로그인 할 때 세션 쿠키를 만듭니다.이 쿠키는 일반적으로 일종의 세션 ID (긴 문자열)를 포함합니다. 해당 ID를 영화의 URL에 쿼리 (.../video.mov?ID=2387543462578)로 첨부하십시오.

그런 식으로 서버는 현재 열려있는 세션과 ID를 확인할 수 있습니다. ID가 유효하지 않으면 403 (사용 금지)으로 회신하십시오.

[편집] 파일을 Rails_root/public/videos에 저장 했으므로 Ruby가 자동으로 브라우저로 다운로드를 처리합니다. 이것은 public 폴더에있는 모든 파일의 기본 동작입니다. 필요한 것은 파일을 다른 위치에두고 수동으로 다운로드를 처리하는 것입니다. Ruby 소스를 확인하고 public 폴더의 핸들러를 찾으십시오. 이것은 후드 아래에서 어떻게 작동 하는지를 알려줄 것입니다. 사용자가 실제로 파일을 다운로드 할 수 있는지 여부를 확인하기 위해 몇 가지 추가 코드를 사용하여이 클래스를 확장 할 수 있어야합니다.

+0

내 Rails 앱에는 인증 및 권한 부여가 모두 있으며, 누가 지금까지 어떤 작업을 사용할 수 있는지 말할 수 있습니다. 내 인상은 말하자면 Rails_root/public/videos 아래에 "video"라는 사용자 비디오 폴더가 있습니다. 따라서 abc.mov는 주소 표시 줄에서 직접 dns/videos/abc.mov를 통해 액세스 할 수 있습니다. 레일스 (Rails)는 이런 일이 일어난 것을 알지 못합니다. 퍼블릭 폴더에 비디오를 넣지 않으면 퍼미션에 SRC 속성이 있기 때문에 정상적인 사용자 페이지에 퍼가기위한 방법이 없습니다. ~에 비디오. 어떻게 당신의 방법을 사용할 수 있습니까? –

+0

내 편집보기 : 다른 URL에 대한 처리기를 추가해야 해당 동영상이 더 이상 공개되지 않습니다. –