2010-11-18 22 views
2

Eğer şifreleme ProtectedData CurrentUser üzerinden kullanılıyorsa ve Forms auth kullanarak bir sitem varsa (özel üyelik modülü ile, bunun bir fark yaratacağını düşünmeyin), işe yarayacak çeşitli web sunucularında mı?Cryptography.ProtectedData CurrentUser with ASP.NET ve Form Kimlik Doğrulaması

Kullandığım geçerli kullanıcı User.Identity ise, 'ın oturum açmış kullanıcı olması ve herhangi bir web sunucusunda aynı olacağı durumdur.

Dokümanlar, ASP.NET ile ilgili herhangi bir şey söylemediler.

cevap

1

"Geçerli kullanıcı", asp.net uygulamasının çalıştığı kullanıcı olacaktır (siteye erişen kullanıcı değil). Genellikle bu/ASPNET kullanıcı hesabıdır, ancak değiştirilebilir. Bunu, WindowsIdentity.GetCurrent() işleviyle doğrulayabilirsiniz.

Diğer seçeneğiniz, DataProtectionScope.LocalMachine ürününü makine deposunda saklamaktır (makinedeki herhangi bir hesaptan devredilebilir). Bu özellik, (ASPNET kullanıcısı gibi) ayrıcalıklı olmayan bir hesap kullanıyorsanız, bu kullanıcı olarak çalışacak ve bu kullanıcı mağazasına erişim kazanacak bir uygulama yazabileceğinden daha az güvenli üye görünebilir.

+0

Tamam, bu nedenle bir etki alanı hesabı olarak çalışmadığı sürece korumayı kaldırmak yalnızca tek bir makinede çalışacak mı? –

+0

Evet. Asp.net uygulaması, koruma/korumayı kaldırma işlevlerini kullanarak birden çok kullanıcı için verileri depolayabilir. örneğin "userid: 392013 değeri: bu bir sırdır" korumak için aşağıdaki dizeyi geçebilirsiniz. Koru, şifrelenmiş bir dize döndürür. Veritabanındaki bu dizgenin saklanması, SADECE şifrelenmiş makineden şifresi çözülebilmesini sağlayacaktır. Sadece pencereler ile ilgili olarak, hepsi aynı windows kullanıcısı (ASPNET hesabı) olduğundan ve aynı mağazada saklanacağından haberdar olun. –

İlgili konular