2008-11-26 4 views
1

폴더의 사용 권한을 설정하는 코드를 작성했습니다. 제가 개발 한 기능은디렉터리/파일 사용 권한 문제

public void SetPermission(string user,FileSystemRights rights) 
{ 
    DirectoryInfo dInfo = new DirectoryInfo(folderPath); 
    DirectorySecurity oDirectorySecurity = new DirectorySecurity(); 

    oDirectorySecurity.AddAccessRule(new FileSystemAccessRule(user, rights, AccessControlType.Allow)); 
    dInfo.SetAccessControl(oDirectorySecurity); 
} 

입니다.이 함수는 사용자에게 권한을 설정하는 데는 문제가 없습니다. 그러나 폴더 속성 -> 보안을 확인할 때 사용자가 추가되었습니다. 그러나 확인란 열기 고급 대화 상자에서 사용 권한을 확인하지 않습니다. 이 상자에서 사용자에 대해 설정 한 사용 권한을 볼 수 있습니다.

내 질문은 보안 탭에 선택란이 선택되어 있지 않은 이유는 무엇입니까?하지만 고급 탭에 있습니까?

제발 저를 도와주세요 !!!!!!

답변

1

이 문제도 발생했습니다. 그것은 서비스 패치 것 같습니다.

당신은 내가 http://jspot.jerryhanel.com/2009/01/08/c-filedirectory-permissions/

에서 짧은 버전을 고정하는 방법을 읽을 수 있습니다 : 당신은 모든 사용자의 모든 ACL에 대한 플래그를 설정해야합니다. 예 ... 추한 데요. 서비스 팩 3을 추가하면 확인 표시가 다시 사라집니다. 누군가가 이것보다 더 깨끗한 해결책을 가지고 있다면 알려 주시기 바랍니다.

내 사이트에이 코드가 있습니다.

업데이트 : 이제 URL이 새 사이트를 가리 킵니다.

+0

저도 제게 경의를 표할 수 있습니까? –

+0

링크가 다운되었습니다 :-( – plc

+0

링크를 수정했습니다. 죄송합니다. – Jerry

0

dInfo.GetAccessControl을 사용하여 oDirectorySecurity를 ​​초기화하는 것이 도움이 될 수 있습니다. oDirectorySecurity.SetOwner를 호출 해 볼 수도 있습니다.

경우에 따라 권한이 객체를 수정하는 데 적용되지 않는 경우에만 고급으로 표시됩니다. FileSystemAccessRule 객체에 상속/전파 플래그를 설정해보십시오.