특정 보안 권한이 필요한 속성으로 꾸미면 코드에 어떤 이점이 있습니까?특정 보안 권한이 필요한 속성으로 꾸미면 코드에 어떤 이점이 있습니까?
7
A
답변
11
대부분의 보안 권한은 부분 신뢰로 실행되도록 설계된 재사용 가능한 라이브러리를 빌드 할 때 특히 유용합니다. 이 방법을 사용하면 호출 어셈블리 나 AppDomain에 적절한 권한이 구성되지 않은 경우 특정 기능에 대한 액세스를 제한 할 수 있습니다. 완전 신뢰로 실행되는 응용 프로그램의 경우 대부분의 보안 권한이 유용하지 않습니다.
그러나 내가 많이 사용하는 경향이있는 속성이 하나 있는데 그 값은 PrincipalPermissionAttribute입니다. 이 특성을 사용하여 클래스 나 함수를 꾸밀 때 .NET은 현재 스레드의 원칙에 적절한 권한이 있는지 여부를 모든 액세스에서 검사합니다. 즉, 사용자 역할 (역할 기반 보안)을 기반으로 해당 코드에 대한 액세스를 허용하거나 거부 할 수 있습니다.
[PrincipalPermission(SecurityAction.Demand, Role = "Managers")]
public static void ShowSalaryForEmployee(Employee employee)
{
// code here.
}
UPDATE 2,017 :
상기 답이 완전히 오래된 여기서 일례이다. 몇 년 전에이 특정 속성을 사용하지 않았습니다. CLR 내장 코드 작성 기술을 사용했기 때문에 특히 코드의 보안 측면을 테스트하는 데 관심이없는 곳에서 단위 테스트와 통합 테스트를 수행하기가 정말 어려웠습니다.
대신 코드 작성에 의존하지 않고 일반적으로 메시지로 정의 된 운영 체제에 대한 사용 권한을 선언하고 인프라 스트럭처 수준 (일반적으로 데코레이터 사용)에서 권한을 구현하는 자체 특성을 정의하는 것이 훨씬 더 좋습니다.
관련 문제
- 1. Julian Dates를 코드에 사용하면 어떤 이점이 있습니까?
- 2. 코드에 어떤 문제가 있습니까?
- 3. MSBuild를 사용하면 어떤 이점이 있습니까?
- 4. sessionStorage를 사용하면 어떤 이점이 있습니까?
- 5. WCF를 사용하면 어떤 이점이 있습니까?
- 6. Subversion을 사용하면 어떤 이점이 있습니까?
- 7. Google Charts에는 어떤 권한이 있습니까?
- 8. 어떤 데이터베이스에 대한 사용 권한이 있습니까
- 9. 심볼 서버를 설치하면 어떤 이점이 있습니까?
- 10. 이 코드에 어떤 문제가 있습니까?
- 11. 다음 코드에 어떤 문제가 있습니까?
- 12. 이 코드에 어떤 문제가 있습니까?
- 13. DBMS_METADATA.GET_DDL을 사용하려면 어떤 Oracle 권한이 필요합니까?
- 14. 전략 패턴을 사용할 때 어떤 이점이 있습니까?
- 15. ORM에서 == 연산자를 재정의하는 데 어떤 이점이 있습니까?
- 16. Tomcat에서 APR을 사용하면 어떤 이점이 있습니까?
- 17. 인터페이스에서만 @Deprecated 표기법을 사용하면 어떤 이점이 있습니까?
- 18. SQL DataContext에 LINQ를 삭제하면 어떤 이점이 있습니까?
- 19. 오라클을 동일한 HDD에 파티셔닝하면 어떤 이점이 있습니까?
- 20. C#을 통해 Java에 어떤 이점이 있습니까?
- 21. Mongo에서 상속을 사용하면 어떤 이점이 있습니까?
- 22. PHP에 java bridge를 사용하면 어떤 이점이 있습니까?
- 23. Vaadin에서는 VerticalContainer보다 Panel을 사용하면 어떤 이점이 있습니까?
- 24. 여기에 varchar보다 varbinary를 사용하면 어떤 이점이 있습니까?
- 25. Python VirtualBox API를 사용하면 어떤 이점이 있습니까?
- 26. 오라클에 비동기식으로 삽입하면 어떤 이점이 있습니까?
- 27. 내부적으로 속성을 사용하면 어떤 이점이 있습니까?
- 28. Apache FOP보다 Antennahouse를 사용하면 어떤 이점이 있습니까?
- 29. VARCHAR에 비해 CHAR를 사용하면 어떤 이점이 있습니까?
- 30. C#에서 인터페이스를 사용하면 어떤 이점이 있습니까?