5월, 2024의 게시물 표시

MSTSC를 통한 저장된 자격 증명으로 원격 연결 시 Defender Credential Guard가 허용하지 않는 문제

이미지
MSTSC를 통한 저장된 자격 증명으로 원격 연결 시 Defender Credential Guard가 허용하지 않는 문제 원격 연결, MSTSC 업무를 하다 보면 자주 다른 컴퓨터에 원격으로 연결해야 할 일이 생깁니다. 리눅스 계열은 SSH로, 윈도우 계열은 SSH를 쓸 때도 있지만 대부분 RDP를 통해 GUI로 원격 연결해 사용하게 됩니다. 그러나 최근 일 년간은 윈도우 서버에 연결할 일이 거의 없다시피 하여 MSTSC.EXE라는 실행 파일 이름조차 잊고 지내다가 다시 윈도우 서버로 연결할 일이 생겨서 연결하려 했는데 다음과 같은 문제가 생겼습니다. Windows Defender Credential Guard, 넌 못 지나간다 자격 증명이 허용되지 않아 두 번째 연결부터 위처럼 Windows Defender Credential Guard가 길을 가로막아버리는 것이 바로 그 문제였습니다. 뭐 그룹 정책 관리자에서 어쩌구… RDP 파일을 저장해서 저쩌구… 이런 건 전부 작동하지 않았습니다. 심지어 비밀번호도 드럽게 길어서 매번 연결할 때마다 패스워드를 복붙하는 과정도 엄청나게 귀찮았습니다. 해결 방법 해결 방법은 생각보다 간단했습니다. 구글에 검색하니 바로 이런 스택 익스체인지 글 이 나와서 따라하니 바로 되더라고요. 해결 방법만 적자면 다음과 같습니다. cmdkey /list:TERMSRV/* 명령을 통해 대상 원격 연결을 확인. (한 번도 연결한 적 없는 서버라면 생략 가능) cmdkey /delete:[확인된 대상] 명령을 통해 기존 대상 삭제. (한 번도 연결한 적 없는 서버라면 생략 가능) 예: cmdkey /delete:TERMSRV/1.2.3.4 cmdkey /generic:TERMSRV/[IP] /user:[로그온 유저] /pass:[로그온 패스워드] 명령을 통해 새로운 자격 증명 등록 예: cmdkey /generic:TERMSRV/1.2.3

ASP.NET에서 인증 필터를 만들어 쓰는데 DbContext 에러가 났다.

ASP.NET에서 인증 필터를 만들어 쓰는데 DbContext 에러가 났다. 어처구니 없는 실패 ASP.NET에서 권한 레벨 기능을 도입하는 중에 IAuthorizationFilter를 구현한 커스텀 필터를 제작해 사용하려 했는데, 다음과 같은 에러가 지속적으로 발생했다. System . InvalidOperationException : A second operation was started on this context instance before a previous operation completed . This is usually caused by different threads concurrently using the same instance of DbContext . For more information on how to avoid threading issues with DbContext , see https : / / go . microsoft . com / fwlink / ? linkid = 2097913 . at Microsoft . EntityFrameworkCore . Infrastructure . Internal . ConcurrencyDetector . EnterCriticalSection ( ) at Microsoft . EntityFrameworkCore . Query . Internal . SingleQueryingEnumerable` 1 . AsyncEnumerator . MoveNextAsync ( ) at Microsoft . EntityFrameworkCore . EntityFrameworkQueryableExtensions . ToListAsync [ TSource ] ( IQueryable` 1 source , CancellationToken cancellationToken ) at Microsoft . EntityFrameworkCore . EntityFram

WPF에서 폰트 설치 없이 외부 폰트를 사용하는 방법

WPF에서 폰트 설치 없이 외부 폰트를 사용하는 방법 외부 폰트 사용: WPF 앱에서 폰트 설치 없이 사용하기 WPF(Windows Presentation Foundation) 앱 개발 중 외부 폰트를 사용해야 하는 상황이 발생할 수 있습니다. 흔한 경우는 아니지만, 특정 디자인 요구사항이나 클라이언트 요청에 따라 외부 폰트를 적용해야 할 때가 있습니다. 외부 폰트는 시스템에 기본적으로 설치되어 있지 않은 폰트를 의미하며, 앱 실행 시 폰트 설치 없이 사용할 수 있도록 하는 것이 중요합니다. 외부 폰트가 필요한 경우 대부분의 WPF 앱은 설치 파일 형태로 배포되기 때문에, 설치 과정에서 폰트를 함께 설치할 수 있습니다. 하지만, 포터블 방식으로 배포되는 앱의 경우, 관리자 권한이 없을 경우 폰트 설치가 불가능하므로 외부 폰트를 사용해야 합니다. 외부 폰트 사용 방법: 폰트 리소스 활용 외부 폰트를 사용하는 가장 효율적인 방법은 폰트 파일을 어셈블리 리소스에 포함시키는 것입니다. 이렇게 하면 폰트 설치 없이 앱 실행 시 폰트를 로드하여 사용할 수 있습니다. 1. 폰트 파일을 프로젝트에 포함: 원하는 폰트 파일(.ttf)을 WPF 프로젝트에 추가하고, 빌드 작업을 "리소스"로 설정합니다. XML <ItemGroup> <Resource Include="Fonts\내폰트.ttf" /> </ItemGroup> 2. FontFamily 속성에 폰트 로드: 컨트롤(예: TextBlock)의 FontFamily 속성에 리소스에 포함된 폰트를 로드하여 사용합니다. 이때, 주의할 점은 폰트 파일명이 아닌 실제 폰트 이름 을 사용해야 한다는 것입니다. XML <TextBlock FontFamily="Fonts/#Pretendard Variable" /> 주의 사항: 폰트 이름 확인: 폰트 파일을 탐색기