2013-04-18 8 views
3

페이지가 사이트에 추가되면 Liferay에서 게스트 역할에 기본적으로 VIEW 권한이 부여됩니다.사이트 페이지가 추가되면 게스트 역할에서보기 권한이 자동으로 제거됩니다.

Permission window for a Site Page

새 페이지가 사이트에 추가 될 때 기본적으로 VIEW 권한을 고객 역할에 대한 사용하지 않도록이 비활성화 (중 구성을 통해 또는 훅 등을 통해) 어떤 방법이 있습니까?

+0

페이지 [Layout-in Liferay 저급 컨텍스트]가 공용 페이지로 추가되는 동안 Liferay는 레이아웃 모델에 대해 sites.xml에 정의 된 기본 추측 권한을 할당합니다. 기본적으로 ext 개발을 통해 피할 수있는 두 가지 방법이 있습니다. 1. sites.xml에서 remove guest default permissions 2. ext에서 LayoutLocalServiceImpl의 코드를 변경합니다. addGroupPermissions 부울 값을 false로 설정하여 addLayout 메서드를 오버 라이딩합니다. –

답변

5

페이지 [Layout-in Liferay 저수준 컨텍스트]가 공용 페이지로 추가되는 동안 Liferay는 레이아웃 모델의 sites.xml에 정의 된 GUEST 역할에 기본 사용 권한을 할당합니다. falseaddGroupPermissions 부울 값을함으로써 오버 타고 addLayout 방법으로 내선에서 LayoutLocalServiceImpl에서 sites.xml

  • 변경 코드에서

    1. 제거 게스트 기본 권한 :

      는 기본적으로 내선 개발을 통해 그것을 피하기 위해 두 가지 방법이 있습니다 .

  • +0

    이제 게스트 역할보기 권한이 이미 할당 된 페이지에서 게스트 역할을 동적으로 제거하는 방법이 필요합니다. 즉, 관리 권한 탭에서 게스트 역할의보기 권한을 수동으로 제거하는 대신 미리 준비된 모든 페이지에서 이전에 할당 된 게스트 역할의보기 권한을 제거 할 수있는 방법이 있습니다. – suyash

    +1

    흠. 이를 위해 공개 페이지를 모두 사용하고'ResourcePermissionServiceUtil.removeResourcePermission'을 사용하는 유틸리티 포틀릿을 작성할 수 있습니다. 게스트 역할에 대한보기 권한을 제거 할 수 있습니다. –

    5

    명시 적으로 해당 권한이없는 사용자에 대해 사이트 공개 페이지의보기를 제한 할 수있는 방법 (liferay Configuration 및 Ext를 통해)이 있습니다.

    1 접근은

    그래서이 portal-ext.properties에 false이 속성을 설정하여 달성 할 수있다 : 무슨 일이 일어날 지

    permissions.check.guest.enabled=false 
    

    을하지만이 속성을 설정하여 있다는 것입니다 고객 역할은 로그인하지 않은 사용자에 대해서만 의미가 있습니다. 사용자가 로그인 할 때 페이지 또는 자산에 대한 게스트에 대한 VIEW 권한이 있어도 사용자는 해당 권한이 없으면 사용자가 볼 수 없습니다. .

    그래서 게스트 역할에 대한 모든 권한을 부여하더라도 게스트 역할은 완전히 쓸모 없게됩니다.

    로그인하지 않은 사용자의 경우 일부 논리로 로그인 페이지로 보낼 수 있습니다. 사이트 페이지를 추가하는 동안 손님에 대한 기본 VIEW 권한을 비활성화 EXT-플러그인에서 site.xml 파일을 업데이트

    2 방식

    1).

    사이트 페이지가 추가되면 기본적으로 게스트 역할의보기 권한이 선택 취소됩니다.