kimliği doğrulanmış kullanıcı ayrıntılarını sürdürmenin en iyi yolu nedir? Bir Intranet.NET MVC uygulaması geliştiriyorum. Her kimliği doğrulanmış kullanıcıyla ilişkili konum, Kimlik Numarası vb. Gibi kullanıcı ayrıntılarını kaydetmem gerekiyor. Bir ASP.NET Intranet MVC uygulamasında
NET Web Formu uygulamalarda biz oturumda kullanıcının ayrıntılarda açmış kaydetmek için kullanılır. Peki, .NET MVC uygulamasında en iyi uygulama hangisidir?cevap
Hala MVC oturum durumunu kullanabilirsiniz, ancak bu tavsiye edilmez. Bir model olarak MVC, HTTP'nin vatansızlığına saygı duyar.
Bir alternatif yalnızca bellekte bilgi depolayan Cache kullanmaktır. İşte Why would ASP.NET MVC use session state?
bir fazlasıdır: Burada daha fazla bilgi içeren bir SO soru Is it a good practice to avoid using Session State in ASP.NET MVC? If yes, why and how?
bu kediyi için birkaç yolu vardır, ama kullanıcıya profil bilgilerini eklemek en olacağını iddia ediyorum zarif.
Sen kullanıcının profil verileri kalıcı bir profili Sağlayıcı gerekir. SQL Server için SqlProfileProvider'ı kullanabilirsiniz, ancak Microsoft ASP.NET Evrensel Sağlayıcıları'na bakmanızı öneririm: http://www.nuget.org/packages/Microsoft.AspNet.Providers
Scott Hanselman'ın bazı utanmaz kopyaları ve yapıştırmaları aşağıdadır.
<profile inherits="MyApp.Models.MyCustomProfile" defaultprovider="DefaultProfileProvider"></profile>
Son olarak, geçerli kullanıcının özel profilinde indirebiliriz:
public class MyCustomProfile : ProfileBase
{
public DateTime? Birthdate {
get { return this["Birthdate"] as DateTime?; }
set { this["Birthdate"] = value; }
}
}
Sonra web.config kurmak istiyorum: Diyelim ki bir kullanıcının doğum izlemek istediğiniz varsayalım ile:
var customProfile = HttpContext.Profile as MyCustomProfile;
DateTime? birthday = customProfile.Birthdate;
Veri deponuzu kurmanız gerekir, ancak çoğunlukla yapılması gerekenler budur. Scott Hanselman'ın blogunun tamamını bulabilirsin: http://www.hanselman.com/blog/IntroducingSystemWebProvidersASPNETUniversalProvidersForSessionMembershipRolesAndUserProfileOnSQLCompactAndSQLAzure.aspx
"İş için doğru aracı kullan" ın atasözü burada geçerli. Doğru şekilde kullanıldığı sürece verileri depoda saklamakla ilgili yanlış bir şey göremiyorum.
MVC başka mekanizmalar kısa süreli durum için (ModelState ve TempData) içerir. Bunlar ihtiyaçlarınızı karşılıyorsa, onları kullanın. TempData, SessionState'i sahnelerin arkasında kullanıyor (this soru gösteriliyor). Gerçekten ihtiyacınız olan şey, bir kullanıcı oturumu süresince ve artık süresiz olarak kalması gereken verilerse, SessionSate bu görev için iyi bir araçtır.
kullanma önbelleğe da iyidir, ama sen önbellek son kullanma/invalidation yönetmesi gerekir. Daha kısa veya daha uzun ömürlü olup olmadıklarına bakılmaksızın oturum veya kullanıcı bağımlı olmayan şeyler için en kullanışlı önbelleğe alma özelliğini buluyorum.
- 1. ASP.NET MVC uygulamasında HandleErrorAttribute kullanımı
- 2. ASP.net MVC uygulamasında ADFS 3.0 oturumunu kapatma
- 3. ASP.Net MVC uygulamasında NInject kullanırken, çekirdek
- 4. ASP.NET MVC Core uygulamasında proje sürümü (RC2)
- 5. Bir kullanıcının tam adını .net MVC 3 intranet uygulamasında nasıl edinebilirim?
- 6. Asp.net mvc
- 7. Bir MVC uygulamasında
- 8. Karma bir MVC/WebForms ASP.NET uygulamasında "Denetleyici Ekle"/"Görünüm Ekle"
- 9. AppSettings'i bir ASP.NET MVC web uygulamasında nasıl görüntülerim?
- 10. Bir ASP.Net MVC uygulamasında Outlook şablon (.oft) dosyası oluşturma
- 11. MVC'de bir MVC olmayan intranet web sayfası yükleniyor
- 12. ASP.NET MVC Contrib Projeleri
- 13. Bir ASP.NET MVC denetleyicisi
- 14. ASP.NET MVC - Bir ActionFilter
- 15. ASP.NET MVC Olayları
- 16. ASP.NET MVC
- 17. ASP.Net MVC
- 18. ASP.NET MVC
- 19. ASP.NET MVC
- 20. Asp.Net Mvc
- 21. ASP.Net MVC
- 22. Asp.net mvc
- 23. ASP.NET mvc
- 24. ASP.NET MVC
- 25. ASP.NET MVC
- 26. ASP.NET MVC
- 27. - ASP.Net MVC
- 28. Asp.net MVC
- 29. asp.net MVC
- 30. ASP.Net MVC
** [Gönder Bu yazı. Bunu faydalı bulabilir misiniz?] (Http://stackoverflow.com/a/17199709/2015869) ** –
Girişiniz için teşekkür ederiz. Ama bir yerde "TempData'nın çok kısa ömürlü bir örnek olması gerekiyordu ve sadece geçerli ve sonraki istekler sırasında kullanmalısınız." Verileri belirli bir kullanıcı oturumu boyunca sürdürmenin herhangi bir yolu var mı? –
Windows kimlik doğrulaması veya form kimlik doğrulaması kullanıyor musunuz? Veritabanınız var mı? –