2010-12-06 4 views
2

인증을받은 사용자에 대한 정보 (사용자 이름, 로그인 타임 스탬프, 원격 IP 주소 등)가 포함 된 ApplicationLoginContext 클래스를 생성했습니다. 승인을 위해 JBoss Seam 보안 규칙 (Drools 기반)을 사용하고 있습니다. 신청 전반에 걸쳐 여러 번 허가 확인. 내 보안 규칙의 작업 메모리에이 로그인 컨텍스트 클래스를 영구적으로 추가 할 수있는 방법이 있습니까? 예를 들어, 로그인 이벤트에 대한 리스너가 있습니다. 이 수신기 내부에서 로그인 컨텍스트 개체를 만들고이를 보안 규칙 작업 메모리에 추가합니다. 거기에서 내 보안 규칙 파일 안에, 내가 좋아하는 일을 할 수있을 것입니다 :Seam Drool 보안 규칙 - 작업 메모리에 대한 추가 정보?

rule MyRule 
... 
when 
    c: PermissionCheck() 
    loginContext: ApplicationLoginContext() 
    // do stuff with loginContext here 
then 
    ... 

난 그냥 세션에 ApplicationLoginContext 객체를 추가하는 시도했지만, 그 도움이 될 것 같지 않습니다. 내가해야 할 일이 있니? 나는 그것이 허가 체크를 할 때마다 매개 변수로서 그것을 포함하고 싶지 않다. 이상적으로, 나는 세션 당 한 번 그것을 주입하고 끝내고 싶습니다.

생각하십니까?

답변

0

희망을 올바르게 이해하고 있지만 매번 처음 실행되는 가장 높은 특이성을 가진 규칙 하나를 작성해야합니다. 매번 사용하려고하는 사실 오브젝트를 삽입합니다. .

rule "insert logic" 
salience 100 
when 
eval(true) 

then 
insert fact object