WPF 응용 프로그램을 작성하고 사용자 지정 보안 주체를 사용하여 사용자 지정 보안 인증 및 권한 부여를 구현하면 잘 작동합니다. CaliburnMicro를 MVVM 프레임 워크로 사용하고 있습니다. 그리고 나는 모든보기에 내가 그래서이 디자인 모드 지원의 사용하고 있습니다 :디자인 모드에서 클래스 특성 사용 안 함
xmlns:vm="clr-namespace:Project.ViewModels"
xmlns:cal="clr-namespace:Caliburn.Micro;assembly=Caliburn.Micro.Platform"
cal:Bind.AtDesignTime="True"
d:DataContext="{d:DesignInstance Type=vm:MyViewModel, IsDesignTimeCreatable=True}">
을 그리고, 내가 비주얼 스튜디오에서 일하고 있어요 때보기 및보기 모델에 의해 채워 내 컨트롤을 편집 할 수 있습니다. 문제는, 그러나, PrincipalPermission
속성입니다 :
[PrincipalPermission(SecurityAction.Demand)]
public class MyViewModel : Screen
때문에 내가 다음보기 모델이 제한됩니다 (그래서 인증 된 사용자 만 볼 수 있음)과 런타임에 위대한 작품을 설정하면, 내가 그것을 확인하고 로그인 View Model로 리다이렉트한다. 하지만 WPF 편집기의 모든 디자인 기능을 잃었습니다 (디자인 편집기에 빈 화면이 표시되기 때문에). 해당 속성에 주석을 달고 프로젝트를 정리/다시 작성하면 편집기가 다시 작동합니다. 하지만 거의 70 개의 뷰가 있고 우리는 13 명의 개발자/디자이너로 구성된 그룹이므로 실제 옵션이 아닙니다.
디자인 모드가 아닌 경우에만 속성을 설정하도록 제한 할 수 있습니까? 따라서 우리는 70 개 이상의 뷰를 수동으로 언급하지 않고도 설계/개발 및 테스트 할 수 있습니까? 길의 그 CAS 일 (관련 권한이 기본적으로 컴파일시에 DLL을 결과에 포함) 속성 때문에
이 속성을 사용하면 현재 Windows 사용자를 기반으로 액세스를 제한 할 수 있습니까? – Evk
@Evk no. 기존 서비스 버스에 대한 사용자 지정 인증 서비스를 구현했습니다. 하지만 프레임 워크에 내장 된 메커니즘을 사용하고 있습니다. –