2008-11-25 22 views
7

'da saklanan bir Parola için Kullanıcı Sorma Bir müşteri için şu anda geliştirdiğim küçük uygulamada, penceresinden kullanıcı adı, parola ve etki alanı için kullanıcı sormalıyım ve sonra bunları kullanmalıyım. Bir uygulamayı başlatmak için System.Diagnostics.Process.Start.C#: Daha sonra bir SecureString

Girilen parolayı maskelemek için UseSystemPasswordChar ile bir metin kutum var.

Ben System.Diagnostics.Process.Start şifre beslemek için bir System.Security.SecureString gerekir.

Girilen metni, birbiri ardına bir karakter yapmazken güvenli dizeye nasıl dönüştürürüm? Alternatif olarak: Girilen metni SecureString olarak döndüren bir parola sormak için daha iyi bir pencere denetimi var mı?

cevap

7

SecurePasswordTextBox özel denetime bakmayı deneyin. İşlemi şu anda oturum açmış olandan farklı bir kullanıcı olarak çalıştırmaya çalıştığınız "Farklı Çalıştır" türü komutuna benzer bir şey yapmaya mı çalışıyorsunuz? Değilse, yalnızca Process.Start öğesini çağırmalı ve mevcut kullanıcı kimlik bilgilerini almasına izin vermelisiniz.

Ayrıca

yanı aşağıdaki kaynaklara bakabilirsiniz:

iyi seçenek muhtemelen standart Windows iletişim kutusunu görüntülemek ve sonra Process.Start çağırmak ya o bilgileri kullanma CredUIPromptForCredentials çağırmak için bazı birlikte çalışma p/inovke kodunu kullanmak olacaktır, veya daha büyük olasılıkla, CreateProcessAsUser işlevini çağırın.

+0

Bu, müşterinin istediği şeydir: Kullanıcının, oturum açmış olan kullanıcının oturumunu kapatmadan kullanıcı bağlamında uygulamaları başlatmasına olanak veren minimalist bir program. – BlaM

+0

sadece uygulamayı sağ tıklayıp 'run as ..' seçeneğini seçemezler mi? – John

+0

@John: Anladığım kadarıyla, "Çalıştır ..." artık Vista'da mevcut değil. Sadece "Yönetici olarak çalıştır" seçeneğiniz var. –

3

SecureString'in bir karakteri bir defa kabul etmek istemesi, aksi halde dizenin daha önce dizinin tamamını alması ve dizenin bellekte olmasına neden olmanızdır. Böylece, bu senaryoda bir SecureString kullanarak amaç bir tür yenilgiye uğratır.

İlgili konular