2009-09-05 6 views

답변

2

(FlorianH 제안으로) 그래서, 다른 사용자의 오픈 ID 페이지에 액세스 할 수있는 '관리 사용자의 바로 인증 된 사용자를 잘 만약 그렇다면, 간단하게 제거하는 것이있는 경우에, 당신은 확인해야합니다 사용자 만 . 그렇게하면 자신의 openid 페이지에만 액세스 할 수 있습니다. 일부 (하드 상상하는) 이유를 들어, 정말 인증 된 사용자가 'user/1/openid'에 대한 권리 '사용자 관리'를 정말 바로 차단 액세스 할 수 있도록하려면

, 당신은 'user/%user/openid'의 액세스 콜백을 무시해야 할 것 메뉴 경로 (openid 모듈에서 등록)를 사용하여 사용자 정의 콜백 기능을 사용할 수 있습니다.

이렇게하려면 hook_menu_alter()을 구현해야하며 시스템의 모든 모듈에 등록 된 모든 메뉴 경로 항목의 배열로 호출해야합니다. 이 배열에서 'user/%user/openid'을 정의하는 항목을 찾고 'access callback'항목의 함수 이름을 기본값 인 'user_edit_access'에서 사용자 지정 콜백 함수의 이름으로 바꿔야합니다. 이 경우, 차단하려는 특정 페이지에 대해 FALSE를 반환하고 (사용자 1은 아닐 수도 있음) 다른 모든 경우에 대해 원래의 콜백 함수를 호출합니다.

+0

아니요 - 나는 * 자신의 * openid 페이지에 대한 액세스를 차단합니다. 하지만 당신의 제안이 똑같은 일을 성취 할 것이라고 생각합니다. 이제는 어떻게 생각해야합니까? – EddyR

0

가장 좋은 방법은 (적어도 IMHO) 관리 섹션의 권한 페이지로 이동하여 인증 된 사용자의 특정 기능에 액세스 할 수있는 권한을 비활성화하는 것입니다.

그런 식으로 후크 나 추가 모듈을 사용할 필요가 없습니다. 기본적으로

+0

사용자의 openid 페이지에 액세스 할 수있는 특별한 권한이 없습니다. openid를 사용하면 모든 사용자가 자신의 사용자//openid 페이지에 액세스 할 수 있습니다. –

관련 문제