고유 한 난제가 있습니다.사용자 자격 증명 확인
사용자 계정 권한을 테스트 할 클래스를 개발 중이며, 대부분의 기준을 다룹니다. 그러나 내가 주로 걱정하고있는 것은 Null
또는 SID
에 대한 테스트입니다. 분명히
if(user != null)
{
role.IsInRole(WindowsBuiltInRole.Administrator);
}
입증하는 간단한 구현하지만, WindowsBuiltInRole
검사는 엄격하게 개별 컴퓨터 또는 도메인에 기반합니다
이유는 내가 걱정이다? 사용자 도메인 계정이 실제로 Administrator 인 경우 성공적으로 테스트합니까?
5 또는 6 개의 도메인 SID
토큰에 대해 테스트하는 더 좋은 방법이 있습니까? 네트워크 서비스 계정과 같은 다른 사용자 계정도 동일한 방식으로 조작됩니까? 토큰 값의 신뢰성을 보장하는 가장 좋은 방법은 무엇입니까?
모든 입력은 훌륭한 것입니다.
이WindowsBuiltInRole Enumeration
WindowsBuiltInRole.Administrator 역할이 참으로 제한없이 모두 컴퓨터와 도메인에 대해 작동합니다 WindowsBuiltInRole 열거의 정의에
위대한 글입니다. 기본적으로'BuiltInRole'은 * Local Machine, Workgroup 또는 Domain *을 비교하여 기본 'Roles'가 속해있는 항목을 확인하고 있습니까? 그러나 실제로'SID 토큰'을 사용하고 있습니다. – Greg
이 검사는 Administrators 그룹에서 수행되므로 코드를 실행중인 시스템의 해당 그룹에있는 항목에 정확하게 의존합니다. 그게 전부 야. 사용 된 기본 Windows API는 해당 SID가있는 CheckTokenMembership http://msdn.microsoft.com/en-us/library/windows/desktop/aa376389.aspx입니다. –
감사합니다. 내가 그것을 어떻게 처리 할 수있는 이상적인 방법에 대한 해답을 찾고 있었는지 나는 그것을 놓쳤다. 그래도 벌었 어. – Greg