LightSwitch 인증 및 권한 부여
Lightswitch에서 하면 응용 프로그램 보안 권한이 없는 사용자가 읽기, 변경 또는 삭제를 방지 하 여 수 있습니다.인증 및 권한 부여를 구현 하는 경우 응용 프로그램에 액세스할 수 있습니다 전에 사용자가 자신의 id를 증명 해야 합니다.많은 사용자가 있는 경우 액세스 보다 쉽게 다양 한 수준의 특정 화면 및 데이터에 액세스할 수 있는 사용자 역할을 만들고 다음 각 사용자가 해당 역할에 할당 하 여 관리할 수도 있습니다.
예를 들어, 직원이 급여 응용 프로그램에서 그들의 급여 정보를 보기만 할 수 있고 변경하지는 못하게 할 수 있습니다.그러나 급여 감독자에게는 직원 정보 보기 및 변경 권한이 주어질 수 있습니다.직원은 직원 역할에 할당되며 감독자는 감독자 역할에 할당됩니다.
사용자를 Active Directory의 보안 그룹에 추가한 후 해당 그룹에 사용 권한을 할당하여 관리 권한을 보다 쉽게 관리할 수도 있습니다.멤버 자격과 권한은 상속되기 때문에 한 번의 변경으로 그룹 뿐만 아니라 모든 하위 그룹에 권한을 부여하고 거부할 수 있습니다.예를 들어, Active Directory에서 Bob을 판매 그룹에 추가할 수 있습니다.판매가 마케팅의 하위 그룹인 경우 마케팅에 부여하는 권한은 Bob에도 부여됩니다.
인증
응용 프로그램을 보호하는 첫 번째 단계는 인증을 사용하는 것입니다.폼 인증 또는 Windows 인증을 사용할 수 있습니다.폼 인증은 자체 응용 프로그램에 의해 관리되며 사용자는 응용 프로그램에 액세스하려면 사용자 이름과 암호를 제공해야 합니다.Windows 인증에서 응용 프로그램을 실행하는 컴퓨터에 로그온하는 데 사용된 자격 증명은 응용 프로그램 사용자를 인증하는 데 사용되며 다른 추가 사용자 이름 또는 암호가 필요하지 않습니다.두 경우 모두 응용 프로그램 관리자는 권한이 있는 사용자 목록을 유지합니다. 폼 인증에서 관리자는 암호화된 암호를 또한 유지합니다.
인증 활성화
솔루션 탐색기, 바로 가기 메뉴를 엽니다의 속성 노드를 클릭 하 고 다음을 선택 열기.
에 응용 프로그램 디자이너, 선택은 액세스 제어 탭.
에 사용할 인증 유형을 선택: 목록에서 하나를 선택 Windows 인증 또는 폼 인증.
선택한 경우 Windows 인증 사용, 선택은 응용 프로그램의 사용자가 화면에서 지정 된 사용자만 허용 옵션 단추 또는 인증 된 Windows 사용자를 허용 합니다. 옵션 단추.
응용 프로그램은 응용 프로그램에 액세스하기 위해 사용자에게 자격 증명을 제공할 것을 요구합니다.
인증을 비활성화하려면
솔루션 탐색기, 바로 가기 메뉴를 엽니다의 속성 노드를 클릭 하 고 다음을 선택 열기.
에 응용 프로그램 디자이너, 선택은 액세스 제어 탭.
에 사용할 인증 유형을 선택: 목록에서 선택 인증을 사용 하지 않는.
응용 프로그램은 응용 프로그램에 액세스하기 위해 사용자에 자격 증명을 요구하지 않으며, 어느 사용자든 응용 프로그램의 모든 부분에 액세스할 수 있습니다.
권한
응용 프로그램을 보호하는 다음 단계는 권한을 만드는 것입니다.화면, 명령, 데이터 엔터티 및 쿼리에 대한 권한을 정의할 수 있습니다.첫째, 응용 프로그램 디자이너 권한 개체를 정의합니다.그런 다음 CanRun<ScreenName> 또는 <QueryName>_CanExecute 같은 Can 메서드에서 코드의 개체를 참조할 수 있습니다.이러한 메서드에 있는 코드는 일반적으로 현재 사용자 또는 역할에게 권한이 있는지를 확인하고 사용 권한이 유효한 경우에만 폼을 표시하거나 쿼리를 실행합니다.
코드를 테스트하려면 권한이 있는 사용자와 권한이 없는 사용자 모두로 응용 프로그램을 실행합니다디버그 권한을 설정해서 응용 프로그램을 테스트 또는 디버깅할 때 사용자를 가장할 수 있습니다.
권한 생성
솔루션 탐색기, 바로 가기 메뉴를 엽니다의 속성 노드를 클릭 하 고 다음을 선택 열기.
에 응용 프로그램 디자이너, 선택은 액세스 제어 탭.
에 권한 정의 또는 디버깅에 사용할 select 사용 권한을 격자에서의 이름 열 선택 < 새 권한 추가 >, 권한에 대 한 프로그래밍 이름을 입력 하 고.
이름은 영문자로 시작해야 하고 영문자, 숫자 또는 밑줄을 포함할 수 있습니다.
에 표시 이름 을 열에서 응용 프로그램 관리자 역할 할당을 사용 하도록 화면에 나타나는 원하는 권한의 이름을 입력 합니다.
에 설명 열 사용 권한의 설명을 입력 합니다.
화면에 대한 사용 권한을 설정하는 코드를 작성하려면
솔루션 탐색기화면 노드는 바로 가기 메뉴를 열고 선택 열기.
화면 디자이너 화면이 열립니다에.
에 코드 작성 목록에서 선택 CanRunScreenName, ScreenName 선택한 스크린의 이름입니다.
에 코드 편집기에 다음 코드를 입력의 CanRunScreenName 메서드:
If Current.User.HasPermission(Can_View_Products) Then result = True Else result = False End If
if (Current.User.HasPermission(Permissions.Can_View_Products)) { result = true; } else { result = false; }
이 코드는 응용 프로그램이 시작될 때마다 평가됩니다.
[!참고]
코드 예제에서는 Can_View_Products라는 권한을 확인합니다.어디에 나타나든 응용 프로그램에서 정의한 사용 권한 이름으로 대체합니다.
명령에 대한 사용 권한을 설정하는 코드를 작성하려면
솔루션 탐색기화면 노드는 바로 가기 메뉴를 열고 선택 열기.
화면 디자이너 화면이 열립니다에.
에 화면 내용 트리 창에서 명령 노드를 확장 하 고 다음 코드를 작성 하려는 명령을 선택 합니다.
명령에 대 한 바로 가기 메뉴를 열고 선택 ButtonName**_CanExecute**, ButtonName 선택한 명령의 이름입니다.
에 코드 편집기, 자신이 원하는 코드를 입력은 ButtonName**_CanExecute** 메서드.
[!참고]
코드 예제는 이 항목 앞부분의 "화면에 대한 사용 권한을 설정하는 코드를 작성하려면"을 참조하십시오.
엔터티에 대한 사용 권한을 설정하는 코드를 작성하려면
솔루션 탐색기가 엔터티 노드 바로 가기 메뉴를 열고 선택 열기.
엔터티 디자이너 해당 엔터티를 열에 대 한.
에 코드 작성 목록에서 선택은 EntityName**_Can**작업 메서드를 위치 EntityName 엔터티의 이름입니다 및 작업 코드를 작성 하려는 작업의 이름입니다.
[!참고]
사용 가능한 메서드 컨텍스트에 따라 달라 집니다.예를 들면 CanDelete 및 CanUpdate입니다.
에 코드 편집기, 자신이 원하는 코드를 입력은 EntityName**_Can**작업 메서드.
[!참고]
코드 예제는 이 항목 앞부분의 "화면에 대한 사용 권한을 설정하는 코드를 작성하려면"을 참조하십시오.
쿼리에 대한 사용 권한을 설정하는 코드를 작성하려면
솔루션 탐색기는 쿼리 노드에 대 한 바로 가기 메뉴를 열고 선택 열기.
쿼리 디자이너 쿼리 열에 대 한.
에 코드 작성 목록에서 중 하나를 선택에서 쿼리 이름**_CanExecute** 메서드를 위치 쿼리 이름 쿼리 이름입니다.
에 코드 편집기, 자신이 원하는 코드를 입력은 쿼리 이름**_CanExecute** 메서드.
[!참고]
코드 예제는 이 항목 앞부분의 "화면에 대한 사용 권한을 설정하는 코드를 작성하려면"을 참조하십시오.
디버깅에 대한 권한을 사용하려면
솔루션 탐색기, 바로 가기 메뉴를 엽니다의 속성 노드를 클릭 하 고 다음을 선택 열기.
에 응용 프로그램 디자이너, 선택은 액세스 제어 탭.
에 권한 정의 또는 디버깅에 대 한 사용 권한을 선택 눈금을 디버깅에 사용 하려는 사용 권한을 선택 하 고 선택의 디버그 부여 확인란을 선택 합니다.
게시
응용 프로그램의 보안을 강화 하면 최종 단계 파일 게시할 수 있습니다.처음 게시할 때 기본 관리자에게 인증 정보를 제공해야 합니다.다시 게시할 때는이 단계를 반복 하지 않아도 됩니다.
응용 프로그램을 게시할 때 인증 정보를 제공하려면
에 LightSwitch 게시 응용 프로그램 마법사, 선택의 보안 설정 을 페이지, 및 다음 선택은 예, 응용 프로그램 관리자를 만들 옵션 단추.
[!참고]
만 서버에 직접 게시 하려는 경우 나머지 단계를 수행 해야 합니다.패키지를 만드는 경우 패키지를 배포할 때 관리 계정을 추가 하 라는 메시지가 표시 됩니다.
에 사용자 이름 텍스트 상자에 사용자 이름을 입력 합니다.
Windows 인증을 사용 하는 경우 폼에 있는 유효한 Windows 로그온 이름을 지정 해야 도메인\Username.
팁 기본 관리자로서 Active Directory의 모든 보안 그룹을 할당할 수도 있습니다.
에 전체 이름 텍스트 상자에서 기본 관리자가 될 그룹 또는 사용자의 전체 이름을 입력 합니다.
에 암호 텍스트 상자에 암호를 입력 합니다.
[!참고]
Windows 인증을 사용 하는 경우는 전체 이름, 암호 및 암호 확인 필드가 나타나지 않습니다.
에 암호 확인 텍스트 상자에 암호를 다시 입력 합니다.
처음 응용 프로그램을 실행할 때 지정 해야 하기 때문에 사용자 이름 및 암호를 기억 하십시오.
응용 프로그램 게시 완료
역할 및 사용자
응용 프로그램 관리자의 경우에 게시 된 응용 프로그램을 처음 실행 해야 합니다.그런 다음 사용 하는 역할 화면 및 사용자 역할 정의 역할에 사용 권한을 할당할 사용자 또는 사용자 그룹에 역할을 할당 하는 화면.이러한 화면 디자인 타임 또는 배포 될 때 실행 중인 응용 프로그램에 액세스할 수 있습니다.디자인 타임에 디버그 권한을 설정해 화면에 액세스합니다.배포된 응용 프로그램에서 보안 관리 권한을 부여받은 사람은 화면에 액세스할 수 있습니다.
[!참고]
로그온 할 때 사용자 이름 및 응용 프로그램을 게시할 때 사용자가 지정한 암호를 사용 해야 합니다.
역할을 정의하고 사용 권한을 할당하려면
메뉴 모음의 관리자 권한에서 실행 되 고 게시 된 응용 프로그램에서 선택 역할.
에 역할 창에서 선택 된 +... (추가) 단추.
에 새 역할 추가 대화 상자에서 역할의 이름을 입력 한 다음 선택은 확인 단추.
에 사용 권한 창에서 선택의 +... (추가) 단추.
권한 표에 새 행이 나타납니다.
모눈의 첫 번째 열에는 사용 권한 목록에서 선택 합니다.
이 목록에는 응용 프로그램에서 사용할 수 있는 모든 권한이 포함됩니다.많은 권한을 선택 해야 원하는 대로 추가할 수 있는 +... (추가) 단추를 하나씩 추가 합니다.
응용 프로그램 도구 모음에서 선택 된 저장 단추 변경 내용을 저장 합니다.
사용자나 사용자 그룹을 추가하는 방법
메뉴 표시줄에서 선택 사용자 를 표시 하는 사용자 화면.
에 사용자 및 그룹 창에서 선택 된 +... (추가) 단추.
에 이름 텍스트 상자에 사용자 이름을 입력 합니다.
Windows 인증을 사용 하는 경우 올바른 사용자 이름 별칭 (김동훈), 도메인 및 별칭 (example\terry), 별칭 및 도메인 (terry@example.com) 또는 정규화 된 도메인 이름 및 별칭 (northamerica.corp.example.com\terry)의 형태로 지정 해야 합니다.전체 문자열 보다 적은 256 자 보다 있어야 합니다.Active Directory에서 보안 그룹의 이름을 지정할 수도 있습니다.폼 인증을 사용 하는 경우 사용자 이름은 고유 해야 하며 256 자이 하.
에 전체 이름 텍스트 상자에 사용자의 전체 이름을 입력 합니다.
전체 이름 필드의 정보는 표시 용도로만 사용됩니다.
[!참고]
Windows 인증의 전체 이름 필드에 사용자 이름을 기반으로 자동으로 채워집니다 및 편집할 수 없습니다.
에 암호 텍스트 상자에 암호를 입력 합니다.
[!참고]
암호 및 암호 확인 필드는 Windows 인증을 사용 하는 경우 나타나지 않습니다.
에 암호 확인 텍스트 상자에 동일한 암호를 입력 합니다.
에 역할 창에서 선택의 추가 단추를 클릭 한 다음 역할에서 선택의 역할 목록.
각 역할에 대해이 단계를 반복 하 여 여러 역할에 사용자를 할당할 수 있습니다.
응용 프로그램 도구 모음에서 선택 된 저장 단추는 변경 내용을 저장 합니다.
사용자나 사용자 그룹을 제거하는 방법
메뉴 표시줄에서 선택 사용자 를 표시 하는 사용자 화면.
에 사용자 및 그룹 창에서 제거 하 고 다음을 선택 하 여 원하는 계정을 선택은 X (삭제) 단추.
[!참고]
사용자가 삭제 된 계정으로 로그온 한 경우 사용자가 저장 더 이상 하거나 서버의 데이터에 액세스할 수 없습니다.사용자가 서버에서 데이터에 액세스 하려고 하면 액세스 거부 메시지가 나타납니다.
[!참고]
그룹 계정을 삭제한 경우 해당 그룹에서 역할이 상속된 사용자는 해당 역할에 대한 권한을 잃게 됩니다.
응용 프로그램 도구 모음에서 선택 된 저장 단추는 변경 내용을 저장 합니다.