쿼리 언어를 사용하여 원하는 레코드를 찾을 수 있다는 것을 알고 있습니다. 내가 로그인 페이지를하고 있는데, 사용자 이름과 암호와 일치하는 레코드를 찾고 싶지만 원하는 모든 사용자를 찾기 위해 모든 요소를 반복하고 싶지 않습니다. (< % @ users.each do | user | %>), SQL을 입력하는 것을 제외하고는 RoR에서 수행해야합니다.RoR에서 레코드를 검색하는 방법은 무엇입니까?
0
A
답변
3
아마도 : 다른 동안
@user = User.find_by_user_name_and_password('scott', 'tiger')
3
당신은 _ 이름과 암호로 사용자를 찾을 동적 파인더를 사용할 수 있습니다 것이 좋습니다 샘 (Sam)과 찬드라 (Chandra)가 제공 한 답변은 기술적으로 정확합니다. 두 솔루션 모두 암호가 일반 텍스트로 저장된다는 것을 의미합니다. a 매우 나쁜 아이디어. 데이터베이스에 액세스해서는 안되는 누군가가 있으면 모든 비밀번호와 결합 된 완전한 사용자 이름 (잠재적으로 이메일 주소)을 갖게됩니다.
대신 알고리즘을 사용하여 암호가 데이터베이스에서 암호화되었는지 확인하십시오 (예 : bcrypt). 사용하려면 bcrypt-rub 보석이 필요합니다.
또한 쿼리의 암호를 모두 사용하지 않는 것이 좋습니다. 이는 추가적인 보안 수준을 제공하기 때문에 좋은 관행입니다. SQL 인젝션은 수행하기가 더 어려워집니다. 당신이해야 모두 사용 bcrypt, 이상적으로
@user = User.find_by_username(params[:username])
if @user.password == params[:password]
# do something
else
# do something else
end
및 쿼리에서 암호를 생략 : 사용자 고유의 사용자 이름이있는 경우, 그냥 이름을 가져 오는 것은 암호가 올바른지 여부를 확인 할 수있는 후 동일한 개체를 반환해야합니다. 이렇게하는 방법은 GitHub의 bcrypt-ruby readme (내가 제공 한 링크)에 설명되어 있습니다.
0
관련 문제
- 1. RoR에서 리퍼러를 검색하는 방법은 무엇입니까?
- 2. 다른 테이블에 참조가없는 레코드를 모두 검색하는 방법은 무엇입니까?
- 3. 테이블에 yesteraday 삽입 된 레코드를 검색하는 방법은 무엇입니까?
- 4. WCF RIA Services에서 단일 레코드를 검색하는 방법은 무엇입니까?
- 5. LinqToSQL에서 테이블을 검색하는 방법은 무엇입니까?
- 6. RoR에서 세션 변수를 모델에 전달하는 방법은 무엇입니까?
- 7. RoR에서 사용자 입력의 유효성을 검사하는 방법은 무엇입니까?
- 8. RoR에서 다른보기에 delete_class_path가 있도록 허용하는 방법은 무엇입니까?
- 9. ROR에서 VC++ 라이브러리에 액세스하는 방법은 무엇입니까?
- 10. RoR에서 상수와 기호의 이점을 결합하는 방법은 무엇입니까?
- 11. RoR에서 모독 필터를 구현하는 방법은 무엇입니까?
- 12. RoR에서 스키마 버전을 수동으로 업데이트하는 방법은 무엇입니까?
- 13. RoR에서 Jquery의 Ajax 호출에 액세스하는 방법은 무엇입니까?
- 14. listbox에서 검색하는 방법은 무엇입니까?
- 15. gridview.columns 검색하는 방법은 무엇입니까?
- 16. 레코드를 열로 표시하는 방법은 무엇입니까?
- 17. 파일에서 레코드를 제거하는 방법은 무엇입니까?
- 18. MYSQL 레코드를 INSERT 문으로 검색하는 방법
- 19. 안드로이드에서 SQLite에서 특정 레코드를 검색하는 방법
- 20. DB에서 특수 문자 (')로 레코드를 검색하는 방법
- 21. 특정 텍스트가있는 레코드를 검색하는 SQL 쿼리?
- 22. 'attr_accessor'속성 이름을 검색하는 방법은 무엇입니까?
- 23. Wordpress에서 제목으로 검색하는 방법은 무엇입니까?
- 24. GtkEventBox에서 GtkWindow를 검색하는 방법은 무엇입니까?
- 25. 벡터에서 요소를 검색하는 방법은 무엇입니까?
- 26. 주소록 콘텐츠를 검색하는 방법은 무엇입니까?
- 27. 내부 클래스를 검색하는 방법은 무엇입니까?
- 28. JAR 파일을 검색하는 방법은 무엇입니까?
- 29. 네트워크에서 장치를 검색하는 방법은 무엇입니까?
- 30. Android에서 Google지도를 검색하는 방법은 무엇입니까?
나 같은 초심자에게는 authlogic을 사용하는 것이 어려워 보입니다 ... ... RoR이 많은 짧은 손길을 가지고 있지만 그걸 충분히 이해하지 못하는 것 같습니다. – DNB5brims