Describe 모니위키 활용/Access Control/읽기권한제어 here 2007-08-01 01:49:00 모니위키 1.1.2 이후 ACL이 추가 되었지만, 아래는 그 이전의 매뉴얼적인 방법. 모니위키에서는 / 을 이용해 주소를 계층화한다. 주소창에서 보면 디렉토리처럼 보이지만 / 은 단지 특수문자로 페이지 리스트 파일을 보면 상위 디렉토리 이름을 이름에 포함시킨 하나하나의 파일로 나타내짐을 알 수 있다. 해당 페이지의 하위 페이지까지 모두 권한 제어가 필요했을 때, 처음에는 페이지가 서버에서 실제로 디렉토리로 구분되어졌다고 생각해 디렉토리 내의 파일리스트를 읽어들이려는 생각을 했으나 모두 파일로 되어 있어 ereg 함수를 이용할 수 있었다. # 모니위키 1.1.2 기준 {{| 1. config.php 에 $control_read='1'; 를 추가한다. 마찬가지로 $security_class = '(사용하는시큐리티플러그인)'; 를 추가한다. '' hyacinth 의 경우 needtologin 을 수정-사용 '' 2. /plugin/security/needtologin.php 에 다음 함수를 추가한다. function may_read($action,&$options) { if (ereg("특정 페이지",$options['page'])) { if ($options['id']=='아이디수정') return 1; $options['err']=sprintf(_(" "),$action); return 0; } return 1; } ※ 특정 페이지 이름은 정규 표현식 사용이 가능하다. 예) Secret로 시작되는 모든 페이지는 ^Secret |}} 모니위키 1.1.2 버전에서 $control_read='1'; 제어가 추가되었는데 그 이전 버전에서는 직접 wiki.php 내의 read 액션 제어부분을 수정했어야만 했다. 2005년 경, hyacinth 가 수정해 썼고 [안용열]님이 그 점을 feature request 해주셨는데 그 것이 피드백 된 것으로 보인다. 요는 $control_read='1'; 로 read 액션 제어를 획득하는 것에 있다. (read 액션만큼은 다른 액션과는 다르게 Security Plugin에서 곧바로 제어가 불가능하다.) ---- [../] http://hyacinth.byus.net/moniwiki/imgs/moni/upper.png