2009-10-03 3 views
2

우리는 어셈블리를 공유하는 여러 응용 프로그램을 제작합니다. 메모리 또는 디스크 공간이 문제가 아니기 때문에 공유 어셈블리를 각 응용 프로그램의 로컬 폴더에 복제하여 개인 어셈블리를 사용합니다. 이렇게하면 GAC에 넣을 때 발생하는 문제를 피할 수 있습니다. GAC에서 어셈블리를 공유 할 때 강력한 이름이 필요한 것은 정말 좋은 것입니다.사설 어셈블리의 강력한 이름을 왜 귀찮게합니까?

개인 어셈블리에 강력한 이름을 사용해야하는 좋은 이유가 있습니까?

은 BTW : 당신이 강한 당신에게 어셈블리라는 이름의 경우 link text

답변

0

당신은 또한 보안 문제를 해결 : 다음 어셈블리에 대한 훌륭한 참조입니다. 어셈블리의 강력한 이름을 지정할 때 누군가가 어셈블리를 변경하거나 다른 어셈블리를 바꾸는 것을 허용하지 않습니다.

+0

이것은 사실이 아닙니다. 사람들이 귀하의 어셈블리를 무단으로 변경하거나 다른 것으로 교체 할 수 있습니다. 물론 실행 파일은 유효성 검사가 비활성화되었거나 실행 파일이 강력한 연결 요구 사항을 제거하도록 수정되지 않는 한 런타임에 연결되지 않습니다. 하지만 어셈블리를 조작 할 수 있다면 실행 파일을 조작 할 가능성이 있습니다. –

1

파일을 직접 이동하는 경우 GAC가 제공하는 이점 (특히 버전 관리)이 제거됩니다.

공유되지 않는 개인 어셈블리의 경우 강력한 이름 지정이 중요하지 않습니다. 기껏해야, 악성 (비 관리자) 사용자가 어셈블리를 승인되지 않은 버전으로 바꾸는 것을 방지 할 수 있습니다. 그러나 관리자는 강력한 이름 유효성 검사를 비활성화하고 이러한 종류의 "공격"을 비교적 쉽게 허용 할 수 있습니다.

0

일반적으로 강력한 이름을 할당하는 곳이면 어디서든 유용하며 그 반대도 마찬가지입니다.

관련 문제