RSS 피드를 레일에 쉽게 생성 할 수 있습니다. RSS 피드를 암호로 보호하는 간단한 방법이 필요합니다. 나는 HTTP 기본 인증을 생각하고있다.비밀번호로 보호 된 RSS 피드를 레일에 만드는 방법
나는 봤지만 암호로 보호 된 RSS를 만드는 방법에 대한 기사를 찾을 수 없습니다.
RSS 피드를 레일에 쉽게 생성 할 수 있습니다. RSS 피드를 암호로 보호하는 간단한 방법이 필요합니다. 나는 HTTP 기본 인증을 생각하고있다.비밀번호로 보호 된 RSS 피드를 레일에 만드는 방법
나는 봤지만 암호로 보호 된 RSS를 만드는 방법에 대한 기사를 찾을 수 없습니다.
일반 컨트롤러에서 사용하는 모든 인증 시스템을 사용하십시오. 사용자가 로그인하고 세션이 활성 상태이면 피드를 다운로드 할 수 있습니다.
knoopx와 마찬가지로 authlogic과 같은 인증 시스템을 사용하는 경우 컨트롤러에 인증 유형을 지정할 수 있어야합니다. 그런 다음 http 기본 인증을 지정할 수 있습니다. 그런 다음 원하는 경우 RSS 피드의 URL에 인증을 포함시킬 수 있습니다.
예 :
http://username:[email protected]/rss
(즉, 같은 URI를 깰 죄송하지만, 여러 개의 링크를 게시 할 수있는 충분한 명성 포인트 :(이없는) 나는이이
을 내 와 ApplicationController
def xml_authorize
if request.format == Mime::XML
authenticate_or_request_with_http_basic do |username, password|
username == 'foo' && password == 'bar'
end
end
end
그럼 난 그냥 XML 요청 만 B에 대한 암호로 보호하려는 행동에 before_filter :xml_authorize
을 적용 ut은 여전히 html로 정상적으로 서비스하고자합니다.
Here 어디에서 영감을 얻었습니까?
RSS 인증에서 HTTP 인증은 다른 컨트롤러 동작과 어떻게 다릅니 까? (이것은 수사학적인 질문 일 필요는 없습니다. 실제로 다른가요?)
just using the Rails HTTP Basic Authentication methods을 사용해 보셨습니까?
피드는 사용자 상호 작용없이 일정한 간격으로 가져 오기위한 것입니다. RSS-Feed는 브라우저와 다른 것으로 소비 될 수 있습니다. 예 : rss-feed-link에서 시작 화면 위젯을 만들 수있는 전화가 있습니다. 훌륭한 기능. 불행히도이 위젯에서는 인증이 작동하지 않습니다. 그리고 사용자 이름과 암호를 입력 할 사용자 인터페이스가 없습니다. 따라서 인증은 URL의 일부가되어야하며 나쁜 보안 문제가 있습니다. ...
반면에 피드 요청에 대답하는 데 세션이 필요하지 않습니다.
그래서 해결책은 사용자를위한 특수 키를 만들어 사용자 테이블에 저장하는 것입니다. 그런 다음 RSS 피드 링크를 표시 할 때 사용하십시오. 피드 방법에서이 키를 사용하여 사용자를 검색하지만 세션을 만들지는 않습니다. 이렇게하면 해커가 어떻게 든 유효한 키를 얻었더라도 해커는 RSS 피드 만 볼 수 있지만 나머지 응용 프로그램에는 액세스 할 수 없습니다.
인증을 위해 이미 일부 라이브러리를 사용하고 있다면 이미이를 위해 구현 된 솔루션이있을 수 있습니다. Authlogic에서 is는 클래스 SingleAccessToken이며, string 유형의 열 'single_access_token'을 사용자 테이블에 추가해야합니다. 그런 다음 authlogic은 사용자 레코드를 저장할 때 암호화 된 키를 생성합니다. GET 매개 변수 'user_credentials'로이 키를 개인 rss 피드의 URL에 추가하는 것
...그러나 어쨌든 암호는 데이터베이스의 일반 텍스트로 저장되어서는 안되며 누군가가 링크를 클릭하면 암호가 표시되어 절대적으로 안전하지 않은 사람에게 절대적으로 표시되도록해야합니다. – Matchu
Matchu, 암호가 일반 텍스트로 암호에 저장되어서는 안된다는 데 동의합니다. 나는 그것을 달성 할 수있는 것의 예로서 거기에 넣었습니다. 분명히, RSS 클라이언트가 내장 된 인증 메커니즘을 가지고 있다는 것이 가장 좋은 시나리오입니다. –