2009-12-09 2 views
1

Shiro를 사용하여 우리는 GF에서 실행되는 엔터프라이즈 애플리케이션에 내장 된 훌륭한 보안 프레임 워크를 보유하고 있습니다. 사용자, 역할, 사용 권한을 정의하고 사용자가 응용 프로그램, 특정 페이지 또는 특정 단추를 클릭 할 수있는 경우 모든 미세 수준에서 제어 할 수 있습니다.데이터 관련 보안 구현

사용자가 특정 데이터를 보지 못하게하는 방법이나 패턴이 있습니까?

샘플 : 3 개의 공장 (한 회사의 일부분)에 대한 고객 테이블이 있습니다. 관리자는 모든 고객 레코드를 볼 수 있지만 로컬 공장의 사용자는 다른 공장의 고객 데이터를 볼 수 없습니다 (이유가 무엇이든).

Te 보안 기능은 역할 정의의 일부 여야합니다.

모든 입력에 대한 감사와 아이디어

답변

1

UserID를 포함하고 자원을 포함하는 테이블의 기본 키에 대한 외래 키가 유동화 할 응용 프로그램에 하나 개 이상의 보안 테이블을 추가합니다.

액세스 권한을 부여 할 각 사용자/리소스 조합에 대해 새 테이블에 레코드를 만듭니다.

그런 다음 리소스가 데이터베이스에서 요청되면 리소스 키를 사용하여 보안 테이블을 리소스 테이블에 조인하고 현재 로그인 한 사용자의 보안 테이블 UserID에서 필터링하십시오. 출력, 사용자가 액세스 권한이없는 레코드를 제거합니다.

보안 테이블에 사용자가 리소스에 대한 액세스 권한을 부여하는 새 레코드를 설정할 수있는 폼을 만드는 것은 비교적 간단합니다.

참고 : 언급 한 특정 경우 사용자가 액세스 할 수있는 고객 데이터베이스의 기본 키 값을 보유하는 필드가 사용자 데이터베이스에 필요합니다.