2013-02-28 7 views
1

고유 한 난제가 있습니다.사용자 자격 증명 확인

사용자 계정 권한을 테스트 할 클래스를 개발 중이며, 대부분의 기준을 다룹니다. 그러나 내가 주로 걱정하고있는 것은 Null 또는 SID에 대한 테스트입니다. 분명히

if(user != null) 
{ 
    role.IsInRole(WindowsBuiltInRole.Administrator); 
} 

입증하는 간단한 구현하지만, WindowsBuiltInRole 검사는 엄격하게 개별 컴퓨터 또는 도메인에 기반합니다

이유는 내가 걱정이다? 사용자 도메인 계정이 실제로 Administrator 인 경우 성공적으로 테스트합니까?

5 또는 6 개의 도메인 SID 토큰에 대해 테스트하는 더 좋은 방법이 있습니까? 네트워크 서비스 계정과 같은 다른 사용자 계정도 동일한 방식으로 조작됩니까? 토큰 값의 신뢰성을 보장하는 가장 좋은 방법은 무엇입니까?

모든 입력은 훌륭한 것입니다.

WindowsBuiltInRole Enumeration

WindowsBuiltInRole.Administrator 역할이 참으로 제한없이 모두 컴퓨터와 도메인에 대해 작동합니다 WindowsBuiltInRole 열거의 정의에

답변

1

WindowsBuiltInRole 열거 윈도우 SIDs에 정확히 해당하고, 정확하게 윈도우 기본 제공 그룹과 관련된 잘 kwown SIDS로 : Well-known security identifiers in Windows operating systems, 모든 SID가로 시작하는 'S-1-5-32-'.

enum 값의 정수 값은 sid의 마지막 숫자에 해당하므로 WindowsBuiltInRole.Administrator가 544이므로 S-1-5-32-544에 해당합니다.

SID : S-1-5-32-544

이름 : 관리자

설명 사용자가 관리자 그룹에 속하는 경우 그럼이 코드를 사용하여 확인하고 정말입니다 : 내장 된 그룹. 운영 체제를 처음 설치 한 후에는 그룹의 구성원 만 Administrator 계정입니다.컴퓨터 이 도메인에 가입하면 도메인 관리자 그룹이 관리자 그룹에 추가됩니다. 서버가 도메인 컨트롤러가되면 엔터프라이즈 Admins 그룹도 Administrators 그룹에 추가됩니다.

+0

위대한 글입니다. 기본적으로'BuiltInRole'은 * Local Machine, Workgroup 또는 Domain *을 비교하여 기본 'Roles'가 속해있는 항목을 확인하고 있습니까? 그러나 실제로'SID 토큰'을 사용하고 있습니다. – Greg

+0

이 검사는 Administrators 그룹에서 수행되므로 코드를 실행중인 시스템의 해당 그룹에있는 항목에 정확하게 의존합니다. 그게 전부 야. 사용 된 기본 Windows API는 해당 SID가있는 CheckTokenMembership http://msdn.microsoft.com/en-us/library/windows/desktop/aa376389.aspx입니다. –

+0

감사합니다. 내가 그것을 어떻게 처리 할 수있는 이상적인 방법에 대한 해답을 찾고 있었는지 나는 그것을 놓쳤다. 그래도 벌었 어. – Greg

1

에서 확인할.

WindowsBuiltInRole.PowerUser는 응용 프로그램을 실행할 수는 있지만 물건을 설치하거나 제거 할 수 없습니다.

WindowsBuiltInRole.AccountAdministrator는 계정을 관리하고 권한을 변경하지만 도메인 배포를 변경하지 않을 수도 있습니다 (분산 배포의 경우처럼).

WindowsBuiltInRole.BackupOperator는 파일을 백업하거나 복원하는 유일한 목적으로 보안 제한을 무시할 수 있습니다.

WindowsBuiltInRole.Replicator는 도메인의 파일 복제를 지원합니다.

이러한 다양한 역할은 흐리게 보일 수 있지만 관리자 이외의 모든 관리자가 일부 관리자 작업을 수행 할 수 있지만 모든 작업을 수행 할 수는 없다는 것을 유추 할 수 있습니다.

+0

다른 'BuiltInRole'계정은 어떻게됩니까? 그것들은'Domain '을 가로 질러도 갈 것인가? – Greg

+0

나는 만족 스럽기를 바란 답을 넓혔다. 다른 역할에는 일부가 아닌 관리자와 유사한 권한이 있습니다. –

관련 문제