2011-01-06 2 views
1

매우 엄격한 사용 권한 구조를 가진 레거시 데이터베이스를 호출하는 Rails 3 응용 프로그램에서 작업하고 있습니다. 레코드 가시성은 데이터베이스 사용자마다 설정되므로 제한된 레코드를 볼 때 사용자의 자격 증명을 사용하여 선택 요청을해야합니다.DataMapper에서 단일 요청에 다른 데이터베이스 사용자 사용

내가 연결있어 사용자가 변경할 수 DataMapper.setup를 사용할 수 있지만 문제는이 특정 요구되지 않는 것입니다 :.이 모든 요청에와 주셔서 그것을 설정

어떻게에 DataMapper을 설정할 수 있습니다 단일 또는 작은 쿼리 집합에 대해 특정 데이터베이스 사용자를 사용하면서 나머지 응용 프로그램에는 영향을주지 않습니까?

답변

2

여러 데이터 저장소 연결을 사용해 보셨습니까? 예 :

DataMapper.setup(:default, "oracle:://user1:[email protected]") 
DataMapper.setup(:restricted, "oracle://user2:[email protected]") 

는 그런 다음 정상적인로 default 접속을 사용하고, 블록 코드를 배치하여 restricted 연결 사용할 수

DataMapper.repository(:restricted) { 
    Person.first 
} 

추가 정보 http://datamapper.org/docs/misc에서 찾을 수있다.

관련 문제