2013-02-11 3 views
7

방금 ​​Win8에 제어판의 섹션이 사용자 계정 및 가족 안전Credential Manager으로 지정되어 있음을 발견했습니다. 거기에 저장된 자격 증명에 액세스하고 싶습니다 (은 비밀번호로을 검색하지 않지만 로그인하려면 토큰으로 사용). 그래서, 기본적으로, 나는 이미 설치된 소프트웨어에 피기 백 타기를하고 싶습니다.Win7 및 Win8에서 저장된 자격 증명 (PasswordVault?)에 액세스하는 방법은 무엇입니까?

가장 가까운 솔루션은 this discussion이고, 이 아닙니다.

  1. 어디 Windows.Security.Credentials.PasswordVault에 대한 어셈블리를 찾을 수 있습니까? 2 시간 동안 인터넷 검색을 해왔지만 데스크톱을 타겟팅하는 동안 앱 개발에 대한 정보 만 얻습니다.

  2. Win7 및 Win8 모두에 대해 미리 저장된 자격 증명에 대한 액세스를 해결할 수있는 방법이 있습니까? 나는 창고 시설이 Win8에서 대대적으로 개조되어 두 플랫폼을 동시에 대상으로 삼을 수 없다는 점을 조금은 두려워합니다.

+0

PasswordVault'이 Windows.winmd''에있는'에 대한 조립. –

+0

어셈블리에 대한 참조를 추가하려고 할 때 * Windows *가 쳐다 보지 않습니다. 무엇이 잘못 될 수 있냐?! –

+0

_Reference Manager_에서 _COM_와 _Browse_ 사이의 _Windows_라는 섹션을 보시겠습니까? –

답변

6

How to: Add or Remove References By Using the Reference Manager는 말한다 : 코어 탭은 기본적으로 표시되지 않는 데스크톱 프로젝트에서

. 당신 은 를 다음 코드를 추가, 언로드 프로젝트 선택의 프로젝트 노드의 바로 가기 메뉴를 열어 Windows 런타임을 추가하고 다시 열기 프로젝트 (프로젝트 노드에 다시로드 프로젝트 선택) 할 수 있습니다 . 참조 관리자 대화 상자를 호출하면 핵심 탭이 나타납니다.

<PropertyGroup> 
    <TargetPlatformVersion>8.0</TargetPlatformVersion> 
</PropertyGroup> 

이 탭의 Windows 확인란을 선택했는지 확인하십시오. 그러면 WinRT 요소를 사용할 수있는 이어야합니다.

+0

이것은 Win7을 위해 비행하지 않을 것인가? –

+0

불행히도, 아니오. 아마도 런타임에 예외가 생길 것입니다 :'System.PlatformNotSupportedException :이 플랫폼에서는 작동이 지원되지 않습니다 .'' –

+0

for win8 및 자세한 방법은 http://www.codeproject.com/Articles/457335/How를 참조하십시오. -to-call-WinRT-APIs-from-NET-desktop-apps – Cel

2

포장 된 Credential Management package을 사용할 수 있습니다. 그것은 오픈 소스 프로젝트입니다. Windows 7에서 확인한 결과 제대로 작동합니다.

Credential saved = new Credential("username", "password", "MyApp", CredentialType.Generic); 
    saved.PersistanceType = PersistanceType.LocalComputer; 
    saved.Save(); 

그리고 데이터 사용로드 :

Credential credential = new Credential { Target = "MyApp", Type = CredentialType.Generic }; 
    credential.Load(); 
4

내가 같은 문제를 가로 질러 와서 간단한 대답이없는 것을 발견 코드 다음 데이터 사용을 절약하기 위해

어딘가에.

이것은 내가 찾은 것입니다 :

  1. 당신은 프로젝트를 언로드하고 상술 한 바와 같이 TargetPlatformVersion를 추가해야합니다.
  2. 은 참조를 추가 C:\Program Files (x86)\Windows Kits\8.1\References\CommonConfiguration\Neutral\Annotated\Windows.winmd
  3. 은 또한 참조를 추가 : C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETCore\v4.5\System.Runtime.WindowsRuntime.dll