Process Permission

개요

  • 메뉴 권한과 처리 권한은 서로 다른 개념

  • [사용자 권한] 메뉴에서 사용자에게 메뉴의 접근 권한을 부여하며 메뉴별 처리 권한(조회/출력/저장/삭제)을 설정

  • 메뉴 접근 권한은 사용자에게 메뉴 노출 여부를 결정

  • 처리 권한(조회) : GSTBrowser의 [조회] 버튼이 활성화 되지 않음

  • 처리 권한(저장) : GSTBrowser의 [신규/복사/저장] 버튼이 활성화 되지 않음

  • 처리 권한(삭제) : GSTBrowser의 [삭제] 버튼이 활성화 되지 않음

  • 처리 권한(출력) : GSTBrowser의 [미리보기/인쇄] 버튼이 활성화 되지 않음

개발 가이드

class ProcessPermission

  • [사용자 권한] 메뉴에서 설정한 메뉴별 처리 권한의 상태를 가지는 클래스

  • BaseForm.ProcessPermissionInfo 속성을 통해 참조

protected class ProcessPermission
{
    public bool AllowView { get; }
    public bool AllowSave { get; }
    public bool AllowDelete { get; }
    public bool AllowPrint { get; }
}

enum ProcessPermissionType

  • GroupBoxButtonEx 클래스의 ProcessPermissionType 속성에서 참조

public enum ProcessPermissionType
{
    None,
    View,
    Save,
    Delete,
    Print
}

제약 사항

  • GSTBrowser의 폼 오픈으로 메뉴 실행시 모든 처리 권한을 가짐

  • 사용자 유형이 '관리자'일 경우 모든 처리 권한을 가짐

  • 처리 권한이 없으면 GSTBrowser의 상단 버튼을 활성화 할 수 없음

  • 처리 권한을 무시하고 강제로 버튼을 활성화 하고자 하는 경우 BaseForm.UpdateProcessButtonStateToHard 메서드 사용

GroupBoxButtonEx (GroupControl.CustomHeaderButtons) 에 처리 권한 적용 방법

  • CustomHeaderButtons Editor 팝업에서 [Add] 버튼으로 GroupBoxButtonEx 타입의 항목을 생성

  • ProcessPermissionType 속성의 값을 변경

  • 해당 속성의 값을 설정하면 BaseForm.OnLoad 메서드가 호출되는 시점에 활성화 여부를 결정

주의 사항

  • 2020-10-12 에 새로운 타입(GroupBoxButtonEx)이 업데이트 됨에 따라, 이전에 개발 되어 있는 코드의 GroupBoxButton 타입에는 처리 권한에 대하여 자동 비활성화 기능이 적용되지 않음

  • GroupControlEx.CustomHeaderButtons의 처리 권한에 대한 비활성화 여부는 개발자가 각 폼별 특성에 맞게 직접 지정

Last updated

Was this helpful?