로그인하지 않은 사용자를 위해 Magento의 특정 정적 페이지에 대한 액세스를 제한하고 싶습니다. 누구나 솔루션을 가지고 있습니까? 일부 확장 (http://www.magentocommerce.com/magento-connect/MageParts/extension/3842/restrict_cms_pages 및 http://www.magentocommerce.com/magento-connect/advanced-permissions.html)을 살펴 보았지만 실제로 필요한 것은 훨씬 간단합니다. 제안 사항이 있으십니까? 감사합니다Magento에 로그인하지 않은 사용자를위한 페이지 액세스를 제한하는 방법
답변
자신의 모듈을 만들고 Mage_Cms_PageController
컨트롤러 (위치는 app/code/core/Mage/Cms/controllers/PageController.php)를 다시 작성해야합니다. 여기
http://www.magentocommerce.com/wiki/5_-_modules_and_development/0_-_module_development_in_magento/how_to_overload_a_controller 그래서 당신이 당신의 자신의 모듈을 만들,의는 CustomCms/PageAccess
을 가정 해 봅시다. 이 외에, 당신은 공개 또는 관리자 패널에서 직접 보호 할 수있는 페이지 설정하려면
class CustomCms_PageAccess_PageController extends Mage_Cms_PageController
{
public function viewAction()
{
$pageId = $this->getRequest()->getParam('id', false);
if (Mage::getSingleton('customer/session')->isLoggedIn() || $this->publiclyVisible($pageId)) {
parent::viewAction(); // default action
} else {
$this->_forward('noRoute'); // 404
}
}
/*
* this function should be in a helper
* !!! Return false if the page should be visible only to logged in users !!!
* @return bool
*/
public function publiclyVisible($pageId) {
return true; // here is where you check the page id
}
}
, 당신은 편집 CMS를 페이지에 사용자 정의 필드를 추가 할 필요가 다음과 같은 컨트롤러가 필요합니다 . 여기
이 작업을 수행하는 방법에 대한 자습서입니다 : 이public function publiclyVisible($pageId) {
$page = Mage::getModel('cms/page')->load(intval($pageId));
// I'm asuming the new field is is_publicly_visible
return (bool)$page->getIsPubliclyVisible();
}
참고 :
내가 테스트하지 않은 그 후 http://blog.flexishore.com/2011/08/add-custom-field-to-cms-page/
을, 당신은 publiclyVisible
기능을 수정해야 튜토리얼은 연결했지만 건너 뛰고 잘하는 것 같습니다.
최근에 작성한 내용은 a new Magento customer page (자체 링크)입니다. 자습서 자체는 사용자의 요구에 조금 큰 부담이지만 사용자가 로그인했는지 여부를 확인하는 마법의 코드 행을 가지고 있습니다.
"정적 페이지"가 Magento 환경에서 작동한다고 가정하면 다음 PHP 코드를 통해 원하는 곳으로 이동해야합니다.
if(Mage::getSingleton('customer/session')->isLoggedIn())
{
var_dump("Is Logged In");
}
else
{
var_dump("In Not Logged in. Exit or redirect or something.");
}
Magento의 모든 페이지에는 컨트롤러 및 동작 기능이 있습니다.
컨트롤러 동작 기능 내의 특정 페이지에 대해 고객이 로그인했는지 여부를 확인하는 코드를 적용해야합니다. 로그인하지 않은 경우 다른 페이지로 리디렉션됩니다.
if(Mage::getSingleton('customer/session')->isLoggedIn())
{
continue...
}
else
{
redirect....
}
이 대답이 아직 관련이 있는지는 모르지만 원하는대로하는 무료 Magento 확장 프로그램이 있습니다. 로그인 확인이라고합니다.
http://www.magentocommerce.com/magento-connect/login-check.html
- 1. 사용자가 로그인하지 않은 경우 액세스를 제한하는 방법
- 2. 페이지 액세스를 localhost로만 제한하는 방법?
- 3. 디렉터리 액세스를 제한하는 방법
- 4. 젠킨스에 대한 액세스를 제한하는 방법?
- 5. 로그인하지 않고 사용자를 제한하는 방법
- 6. 레일 :보기에서 페이지 액세스를 제한하는 것이 좋습니다.
- 7. api에 대한 액세스를 제한하는 방법
- 8. 로그인하지 않은 사용자에 대한 액세스를 특정 페이지로 제한하는 방법은 무엇입니까? (JSF 2.0)
- 9. admin 네임 스페이스에 대한 액세스를 제한하는 방법
- 10. 로그인하지 않은 사용자를위한 Joomla 플러그인 또는 모듈 디스플레이
- 11. django에서 특정 행에 대한 액세스를 제한하는 방법
- 12. phpbb - 게시판 인덱스에 대한 액세스를 제한하는 방법
- 13. 사용자 액세스를 제한하는 프로그램
- 14. 아직 등록하지 않은 사용자를위한 등록 페이지 허용
- 15. 애플 리케이션을 인증하지 않은 사용자를위한 스플래시 페이지
- 16. 로그인하지 않은 사용자에 대해 "감사"페이지 보호
- 17. 로그인하지 않은 경우 HTML 페이지 리디렉션
- 18. Android - 사용자가 로그인하지 않은 경우 로그인 페이지
- 19. 확인되지 않은 사용자를 DotNetNuke에 로그인하도록 제한하는 방법?
- 20. 로그인하지 않은 사용자의 액세스를 거부하지만 로컬 스크립트 파일에서 액세스 허용
- 21. JSP가 로그인하지 않은 사용자에 의한 URL에 대한 직접 액세스를 거부합니다.
- 22. 사용자가 웹 페이지에 대한 액세스를 제한하는 방법
- 23. 하위 도메인에 대한 사용자 액세스를 제한하는 방법
- 24. android : 코드로 2g 데이터 액세스를 제한하는 방법?
- 25. MVC에서 특정 파일에 대한 액세스를 제한하는 방법
- 26. 파일 URL에 대한 액세스를 제한하는 방법
- 27. SharePoint 2007 : 필드 수준에서 액세스를 제한하는 방법?
- 28. 웹 응용 프로그램에서 화면 액세스를 제한하는 방법 ..?
- 29. 정적 콘텐츠에 대한 사용자 액세스를 제한하는 방법
- 30. node.js 서버에 대한 직접 액세스를 제한하는 방법