2013-06-19 3 views
0

저는 현재 관리자 로그인이 필요한 작은 웹 앱을 작성하고 있습니다. 한 명의 관리자 만있을 것이므로, 나는 완전한 기능을 갖춘 관리 시스템을 작성하기를 꺼린다. 그러나 기본 HTTP 로그인은 암호화되지 않은 사용자 이름과 암호를 사용하기 때문에 보안 수준에서는 허용되지 않습니다. 어쨌든 안전하게 HTTP 로그인이나 다른 쉬운 로그인 방법을 사용하고 있습니까?레일 - 보안 HTTP 로그인?

답변

0

예. 몇 가지 옵션이 있습니다. 모든 기능을 갖춘 솔루션을 찾고 있다면 devise를 확인하십시오.

그것은 꽤 간단합니다 귀하의 요구 사항을 충족 :

데이터베이스으로 인증 : 문서 당

https://github.com/plataformatec/devise

를 암호화하고의 신뢰성을 검증하기 위해 데이터베이스에 암호를 저장 사용자는 로그인하는 동안 POST 요청이나 HTTP 기본 인증을 통해 인증을 수행 할 수 있습니다.

0

Cancan은 보안 인증 및 ACL을 구현하는 보석입니다.

인터넷을 통해 일반 텍스트 암호를 전송하지 않으려면 HTTPS를 사용해야합니다.

1

devise을 사용하여 관리자를 인증 할 수 있습니다. 장치를 사용하여 컨트롤러 수준을 보호 할 수 있습니다 (관리자 페이지와 관련된 컨트롤러에서 before_filter :authenticate_users). Devise는 암호를 암호화하고 암호를 해독하여 db에 저장합니다.

보안을 강화하려면 ssl을 추가하면 사용자 이름과 비밀번호가 일반 텍스트로 전송되지 않습니다.

0

정말 필요한 것은 관리자 패널 솔루션입니다.
이 좋은 두 사람
레일 관리자 http://activeadmin.info

내가 다른 프로젝트에서 둘 다 사용 https://github.com/sferik/rails_admin
ActiveAdmin을이 있으며, 레일 관리자가 배포 빠른 - 상자 밖으로 작동은 (단지 발전기를 실행해야합니다). ActiveAdmin에는 몇 가지 구성이 필요합니다.

2

전선에서 실제 비밀번호 보안을 유지하는 가장 쉬운 방법은 HTTPS 프로토콜을 사용하는 것입니다.

이 프로토콜에 대해 HTTP 기본 인증을 사용하고 응용 프로그램에서 사용자/암호를 하드 코딩하는 것과 같은 간단한 작업을 수행 할 수 있습니다. 필자는 서버에서 ENV vars에 사용자/암호를 입력하여 소스 코드 저장소에 추가되지 않도록 여러 번했습니다. 그런 다음 Rails의 http_basic * 헬퍼를 사용하여 특정 컨트롤러 작업에 대한 액세스를 허용합니다.

예 :

# Controller 
class FooController < ApplicationController 

    http_basic_authenticate_with :name => Rails.application.config.foo_user, 
    :password => Rails.application.config.foo_password 

    def index 
    ... 
    end 
end 

# Initializer - config/initializers/foo_auth.rb 
Fooapp::Application.config.foo_user = ENV["FOO_USER"] 
Fooapp::Application.config.foo_password = ENV["FOO_PASSWORD"] 

내가 꽤 빨리 암호 관리 및 스토리지로되고, 바로 당신이 고안 같은 것을 사용 둘 이상의 사용자가 필요로

을 문제가 있음을 추천 할 것입니다