दिलचस्प पोस्ट
एंड्रॉइड के लिए कैमरा ट्यूटोरियल (साउटलिव्यू का उपयोग करते हुए) मैं एक WinForms ऐप कैसे पूर्ण स्क्रीन पर जा सकता हूं एंड्रॉइड में वर्तमान स्थान अक्षांश और देशांतर कैसे प्राप्त करें जावा संवाहक: सीएएस बनाम लॉकिंग जीसीसी में सी / सी ++ स्रोत से कोडांतरक उत्पादन कैसे मिलता है? एंड्रॉइड – इयरपीस के माध्यम से खेलने के लिए ऑडियो प्राप्त करना एंड्रॉइड ऐप के लिए पीडीएफ व्यूअर एपीआई / लाइब्रेरी? ActionBarSherlock के बारे में एंड्रॉइड स्टूडियो में परियोजना को आयात करने में समस्याएं जांचें कि पंक्ति mysql के साथ मौजूद है या नहीं मामले की बयानों के बाद हमें ब्रेक क्यों चाहिए? कोर डंप फ़ाइल विश्लेषण एक पेड़ में एक फ्लैट तालिका को पार्स करने के लिए सबसे कुशल / सुरुचिपूर्ण तरीका क्या है? एसडी कार्ड से ईमेल भेजने की कोशिश कर रहा है I मोंगोज़ / मोंगोडीबी में मल्टिफिल्ड इंडेक्स बनाना पायथन में प्रोसेस नाम से पीआईडी ​​कैसे प्राप्त करें?

एएसपी.नेट एमवीसी में मौजूदा उपयोगकर्ता कैसे प्राप्त करें I

रूपों मॉडल में, मैं मौजूदा लॉग-इन उपयोगकर्ता को यहां से प्राप्त करता था:

Page.CurrentUser 

मैं एएसपी.नेट एमवीसी में एक नियंत्रक वर्ग के अंदर वर्तमान उपयोगकर्ता कैसे प्राप्त करूं?

वेब के समाधान से एकत्रित समाधान "एएसपी.नेट एमवीसी में मौजूदा उपयोगकर्ता कैसे प्राप्त करें I"

यदि आपको नियंत्रक के भीतर से उपयोगकर्ता प्राप्त करने की आवश्यकता है, तो नियंत्रक की User संपत्ति का उपयोग करें यदि आपको इसे देखने की आवश्यकता है, तो मैं उस दृश्य को पॉप्युलेट कर दूँगा जिसे आपको विशेष रूप से ViewData में ज़रूरत है, या आप केवल उपयोगकर्ता को कॉल कर सकते हैं क्योंकि मुझे लगता है कि यह ViewPage संपत्ति है।

मुझे पता चला कि User काम करता है, अर्थात, User । पहचान। User.Identity.Name या User.IsInRole("Administrator")

HttpContext.Current.User प्रयास करें

सार्वजनिक साझा संपत्ति वर्तमान () के रूप में System.Web.HttpContext
सिस्टम के सदस्य। वेब। एचटीपीपीओन्टेक्स

सारांश:
वर्तमान HTTP अनुरोध के लिए सिस्टम.Web.HttpContext ऑब्जेक्ट प्राप्त या सेट करता है।

वापसी मान:
मौजूदा HTTP अनुरोध के लिए System.Web.HttpContext

आप इस तरह एएसपी.नेट एमवीसी 4 में उपयोगकर्ता का नाम प्राप्त कर सकते हैं:

 System.Web.HttpContext.Current.User.Identity.Name 

मुझे पता है यह वास्तव में पुराना है, लेकिन मैं बस एएसपी.नेट एमवीसी से शुरू कर रहा हूं, इसलिए मैंने सोचा कि मैं अपने दो सेंट को छड़ी जाऊंगा:

  • Request.IsAuthenticated प्रमाणित है कि उपयोगकर्ता प्रमाणित है या नहीं।
  • Page.User.Identity आपको लॉग-इन उपयोगकर्ता की पहचान देता है।

मैं उपयोग करता हूं:

 Membership.GetUser().UserName 

मुझे यकीन नहीं है कि यह एएसपी.नेट एमवीसी में काम करेगा, लेकिन यह एक शॉट के लायक है 🙂

लॉगिन उपयोगकर्ता नाम: System.Web.HttpContext.Current.User.Identity.Name

फ़िल्टर प्रयोजनों के लिए एक नियंत्रक में एएसपी.नेट एमवीसी 4 में निर्मित सरल प्रमाणीकरण का उपयोग करके यूजर ID को संदर्भित करने के लिए (जो उपयोगी है यदि आप पहले डेटाबेस और पहले से बाइंडिंग के लिए डेटाबेस का उपयोग कर रहे हैं और आपकी तालिकाओं को संरचित किया गया है कि यूजरआइड के लिए एक विदेशी कुंजी उपयोग की जाती है), आप उपयोग कर सकते हैं

 WebSecurity.CurrentUserId 

एक बार जब आप एक प्रयोग कथन जोड़ते हैं

 using System.Web.Security; 

System.Security.Principal.WindowsIdentity.GetCurrent().Name उपयोग करें System.Security.Principal.WindowsIdentity.GetCurrent().Name

यह मौजूदा लॉग-इन विंडोज उपयोगकर्ता को मिलेगा।

के साथ उपयोगकर्ता नाम:

 User.Identity.Name 

लेकिन अगर आपको केवल आईडी प्राप्त करने की आवश्यकता है, तो आप इसका उपयोग कर सकते हैं:

 using Microsoft.AspNet.Identity; 

तो, आप सीधे यूजर आईडी प्राप्त कर सकते हैं:

 User.Identity.GetUserId(); 

यह पृष्ठ हो सकता है कि आप क्या चाहते हैं:
MVC3 में Page.User.Identity.Name का उपयोग करना

आपको बस User.Identity.Name जरूरत User.Identity.Name

एएसपी.एनटी एमवीसी 3 में यह क्या है, इसके लिए आप यूज़र का उपयोग कर सकते हैं जो उपयोगकर्ता को वर्तमान अनुरोध के लिए देता है।

यदि आप अपने लॉगिन पेज के अंदर हैं, उदाहरण के लिए LoginUser_LoggedIn इवेंट में, Current.User.Identity.Name एक खाली मान वापस करेगा, इसलिए आपको अपने LoginControlName.UserName संपत्ति का उपयोग करना होगा।

 MembershipUser u = Membership.GetUser(LoginUser.UserName); 
 IPrincipal currentUser = HttpContext.Current.User; bool writeEnable = currentUser.IsInRole("Administrator") || ... currentUser.IsInRole("Operator"); 
 var ticket = FormsAuthentication.Decrypt( HttpContext.Current.Request.Cookies[FormsAuthentication.FormsCookieName].Value); if (ticket.Expired) { throw new InvalidOperationException("Ticket expired."); } IPrincipal user = (System.Security.Principal.IPrincipal) new RolePrincipal(new FormsIdentity(ticket)); 

यदि आप इंट्रानेट पर सक्रिय निर्देशिका में काम करना चाहते हैं, तो यहां कुछ युक्तियां दी गई हैं:

(विंडोज सर्वर 2012)

किसी वेब सर्वर पर ईडी से बात करने वाली किसी भी चीज़ को चलाने के लिए परिवर्तन और धैर्य का एक गुच्छा की आवश्यकता होती है। चूंकि वेब सर्वर बनाम स्थानीय आइआइएस / आईआईएस एक्सप्रेस पर चलते हुए यह ऐपपूल की पहचान में चलता है, इसलिए आपको साइट पर जाने वाले व्यक्ति का प्रतिरूपण करने के लिए इसे सेट करना होगा।

नेटवर्क में एक वेब सर्वर पर जब आपके एएसपी.नेट एमवीसी अनुप्रयोग चल रहा है तो सक्रिय डायरेक्टरी में मौजूदा लॉग-इन उपयोगकर्ता कैसे प्राप्त करें:

 // Find currently logged in user UserPrincipal adUser = null; using (HostingEnvironment.Impersonate()) { var userContext = System.Web.HttpContext.Current.User.Identity; PrincipalContext ctx = new PrincipalContext(ContextType.Domain, ConfigurationManager.AppSettings["AllowedDomain"], null, ContextOptions.Negotiate | ContextOptions.SecureSocketLayer); adUser = UserPrincipal.FindByIdentity(ctx, userContext.Name); } //Then work with 'adUser' from here... 

आपको निम्नलिखित में 'सक्रिय निर्देशिका संदर्भ' के साथ किसी भी कॉल को लपेटा जाना चाहिए ताकि यह एडी जानकारी प्राप्त करने के लिए होस्टिंग पर्यावरण के रूप में कार्य करे:

 using (HostingEnvironment.Impersonate()){ ... } 

आपके web.config में भी वास्तविकता को impersonate करना चाहिए:

 <system.web> <identity impersonate="true" /> 

आपके पास वेब। कॉन्फ़िग में विंडोज प्रमाणीकरण होना चाहिए:

 <authentication mode="Windows" /> 

आप उपयोग कर सकते हैं

Request.LogonUserIdentity.Name

Asp.net MVC पहचान 2 में, आप वर्तमान उपयोगकर्ता नाम यहां से प्राप्त कर सकते हैं:

 var username = System.Web.HttpContext.Current.User.Identity.Name;