0

Vs2015 standart şablonuna dayanan bir MVC WebApp var. Şu anda formları aracılığıyla WebApp oturum kullanıcıyı erişmek istiyor SQL veritabanında bir tetikleyici içinFormları kullanıcı SQL veritabanına geçirin

<add name="DefaultConnection" connectionString="Data Source=(LocalDb)\v11.0;Initial Catalog=aspnet-test;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|\aspnet-test.mdf" providerName="System.Data.SqlClient" /> 

: Ben Forms

<authentication mode="Forms"> 
    <forms loginUrl="~/Account/Login" timeout="2880" /> 
</authentication> 

kimlik

ve Entegre Security ile LocalDB kullanıyorum. Ancak, SQL system_user geçerli Windows girişimi döndürür. Veritabanında Formlar aracılığıyla Web Uygulamasına giriş yapan kullanıcıya erişmek için herhangi bir en iyi uygulama yolu var mı?

Kimliğe bürünme hakkında çok fazla makale okudum. Her ne kadar hepsinin tam tersi problemi var gibi görünüyor: Windows kullanıcısını veritabanına göstermek istiyorlar. Form kullanıcısını geçmek için kimliğe bürünme kullanabilir miyim? Veya geçerli WebApp kullanıcısını devre dışı Entegre Güvenlik ile bağlantı dizesine iletmenin bir yolu var mı?

+0

, muhtemelen sen veritabanına bağlanmak için yalnızca bir pencere kullanıcı var. Küçük bir dahili web uygulamasında ve her kullanıcı windows auth kullanarak web uygulamasına bağlanıyorsa, tetikleyicideki kullanıcı bilgilerini kullanabilirsiniz. Windows kullanıcı adınız/şifreniz varsa ve Entegre Güvenlik kullanmanız gerekiyorsa, kimliğine bürünebilirsiniz. Ancak, kullanıcıları ayırt etmek istiyorsanız, kimliğe bürünme neden? sadece entegre güvenlik kullanın. Aslında bana göre, ne yapacağını net değil – FLICKER

+0

Yorumunuz için teşekkür ederiz. Sonunda Uygulama Web'in bir yerine gitmelidir. Kullanıcıları formlar aracılığıyla doğrulamak istiyorum ve SQL veritabanındaki kullanıcı kimlik bilgilerine erişmek istiyorum. Konuya oldukça yeni geldim, bu yüzden SQL bağlantısının sonunda nasıl görüneceğine dair tam bir kavrayışım olmadı, yani kullanıcı kimlik bilgileriyle veya kullanıcı hesabıyla bağlantı kurabilir ve kullanıcı hesaplarını bir şekilde farklı şekilde geçirebilirim. – Coolkau

+0

, form auth kullandığınızda, uygulamanızın windows istemcisi tarafından tanımlanan windows kullanıcı adı/parolasını girmesini ister (veya sunucunuza iletmeniz gerekir). Bu kullanıcı adı SQL server girişlerinde tanımlanmalı ve çalışabilmek için gerekli izinlere sahip olmalıdır. "Integrated Security = SSPI", uygulamanızın SQL Server'a Windows kullanıcısı – FLICKER

cevap

0

Bulduğum en iyi yol, SET CONTEXT_INFO kullanmaktır; Bunun dezavantajı, geçerli Kullanıcı Kimliğinin depodaki her işleve geçmesi gerektiğidir, çünkü otomatik olarak bağlantıya (yapıcı) geçmek için bir yol bulamadım.

Kullanıcıyı denetleyiciden Model Kabı'na geçirmenin bir yolunu bulursam bu yanıtları güncellerim. İnternet üzerinde bir wen uygulaması ise

(https://msdn.microsoft.com/en-us/library/ms187768.aspx bakınız)

İlgili konular