उपयोगकर्ता की जांच कैसे की जाती है "लॉग इन"?


89

मैं अपने ASP.NET एप्लिकेशन में नीचे विधि के साथ फॉर्म प्रमाणीकरण का उपयोग कर रहा हूं

FormsAuthentication.RedirectFromLoginPage(txtUsername.Text, true);

मैं कैसे जांचूं कि उपयोगकर्ता लॉग इन है या नहीं? और मैं एक लॉग इन उपयोगकर्ता का उपयोगकर्ता नाम कैसे प्राप्त कर सकता हूं?

जवाबों:


189

मैं सही खोजने में कामयाब रहा। यह नीचे है।

bool val1 = System.Web.HttpContext.Current.User.Identity.IsAuthenticated

संपादित करें

इस संपादन का श्रेय @Gianpiero Caretti को जाता है जिन्होंने टिप्पणी में यह सुझाव दिया था।

bool val1 = (System.Web.HttpContext.Current.User != null) && System.Web.HttpContext.Current.User.Identity.IsAuthenticated

35
सुरक्षित कोड के लिए बस थोड़ा सा फिक्स: bool val1 = (System.Web.HttpContext.Cser.User! =
— Null

14
C # के नए संस्करणों में, आप उपयोग कर सकते हैं User?.Identity.IsAuthenticated == true।
— bradlis7

3
या User?.Identity.IsAuthenticated ?? false, लेकिन @ bradlis7 का कोड शायद पढ़ना आसान है।
— माइकल


6
if (User.Identity.IsAuthenticated)
{
    Page.Title = "Home page for " + User.Identity.Name;
}
else
{
    Page.Title = "Home page for guest user.";
}

यह देखते हुए कि इस दृष्टिकोण में इतने सारे बदलाव नहीं हैं, क्या इस दृष्टिकोण का उपयोग करते समय देखने के लिए कोई कमियां / मुद्दे हैं? Ive ने इसका उपयोग करने का फैसला किया और यह अब तक काम कर रहा है।
— pnizzle

यह लगभग शीर्ष मतदान के जवाब के समान है, लेकिन हम यहां नाम स्थान का उपयोग नहीं कर रहे हैं
— माई

6

यह जांचने का सबसे आसान तरीका है कि क्या वे प्रमाणित हैं, Request.User.IsAuthenticatedमुझे लगता है कि (स्मृति से)


1
अच्छी तरह से "Request.LogonUserIdentity" वर्ग इन सभी तरीकों और गुणों को देता है। पारितोषिक के लिए धन्यवाद।
— ब्लूबर्ड

1
कोई @beardtwizzle नहीं। यह विंडोज़ अकाउंट लॉग इन या नहीं दिखा रहा है। यहां तक ​​कि अगर आपकी कुकीज़ हटा दी जाती हैं, तो आप उपयोगकर्ता को विंडो खाते का नाम और लॉगिन देख सकते हैं। यह एक मेरे लिए काम किया। "बूल वैल 1 =
— सिस्टम। वेब। एचटीटीपी कॉन्टेक्स्ट। समांतर।उपयोग।आदमी।सुचित
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.