2013-12-08 3 views

답변

6

예,이 곧장 앞으로해야 할 일이다. 여기서 선택할 수 있습니다 : 모든 POST 대신 실행되도록 proc를 등록하거나 POST 전에 실행하고 특정 사용자를 필터링 할 필터를 등록 할 수 있습니다. 나는 필터가 더 나은 선택이라고 생각한다.

ns_register_proc 또는 ns_register_filter (preauth 포함)을 사용하여 proc 또는 필터를 등록하십시오. OpenACS 패키지의 tcl 폴더 아래 또는 주 AOLserver/web/servername/tcl 디렉토리 아래의 .tcl 파일에 다음 코드를 입력하십시오.

필터 예 :

ns_register_filter preauth POST/filter_posts 
proc filter_posts {} { 
    set user_id [ad_verify_and_get_user_id] 
    set list_of_allowed_user_ids [21 567 8999] 
    if {[lsearch -exact $list_of_allowed_user_ids $user_id] == -1 } { 
     #this user isn't allowed - so redirect them 
     ns_returnredirect "/register/" 
     # tell AOLserver to abort this thread 
     return filter_return 
    } else { 
     # this user is allowed, tell AOLserver to continue 
     return filter_ok 
    } 
} 

PROC 예제 :

ns_register_proc POST/handle_posts 
    proc handle_posts {} { 
     ns_returnredirect "http://someotherwebsite.com" 
    } 
+0

내가 추가해야합니다 당신이해야 하나 또는 다른, 둘, – TrojanName