여기에 쓰여진대로 :
제한된 관리자 계정을 사용하면 일부 타사 확장 메뉴가 더 이상 작동하지 않을 수 있습니다. 기본 반환 값 Mage_Adminhtml_Controller_Action::_isAllowed()
이에서 (으)로 변경 되었기 true
때문 Mage::getSingleton('admin/session')->isAllowed('admin')
입니다. ACL을 사용하지 않기 때문에 관리 컨트롤러에서이 방법을 무시하지 않는 확장은 이제 "ALL" 권한이 필요합니다 .
유일한 해결책은 확장을 패치하고이 방법을 모든 관리 컨트롤러에 추가하는 것입니다.
protected function _isAllowed()
{
return true;
}
또는 실제로 ACL 자원이 다음에 정의 된 경우 etc/adminhtml.xml
:
protected function _isAllowed()
{
return Mage::getSingleton('admin/session')->isAllowed('ENTER RESOURCE IDENTIFIER HERE');
}
리소스 식별자를 확인하는 방법
이것은 adminhtml.xml
다음과 같이 보일 수 있습니다.
아래의 노드 이름을 가지고 acl/resources/admin/children
, 다음 건너 뛰는 children
노드를.
누락 된 리소스 식별자를 만드는 방법
<menu>
정의 만 있고 정의 <acl>
는없는 경우 고유 한 정의도 가능합니다 (동일한 모듈 내에있을 필요가 없으므로 타사 파일을 수정하지 않아도 됨) ::
아래 menu
에 모든 것을 복사 acl/resources/admin/children
하고 <action>
노드를 제거하십시오 .
자동 수정
https://gist.github.com/raybogman/eec47237b8ef0d4dd0fd 에는 SupportDesk.nu의 훌륭한 명령 줄 도구가 있습니다.
대부분의 누락 된 _isAllowed()
호출을 잘 처리 하지만 난독 처리되거나 암호화 된 소스 파일로 인해 코드가 깨져서 결과를 수동으로 확인해야합니다.