احصل على اسم المستخدم للوصول إلى صفحة ASP.NET Internet داخل الشبكة المحلية
سؤال
لدينا موقع ASP.NET إنترانت، متاح للمستخدمين الذين يعانون من إما جاديا وقم بتسجيل الدخول إلى جهاز محلي أو آخر للمستخدمين الذين يتصلون عن بعد عبر VPN. هل هناك طريقة لاستخدام اسم المستخدم تلقائيا من الوصول إلى الصفحة بناء على الاسم المستخدم إما تسجيل الدخول إلى الجهاز المحلي أو الذي يستخدم ل VPN؟
المحلول
هذا ممكن إذا كنت تستخدم مصادقة Windows في صفحاتك.
يمكنك استخدام إما Page.User.Identity.Name
أو أكثر اكتمالا System.Web.HttpContext.Current.User.Identity.Name
.
قراءة المزيد عنها هنا:
تمكين مصادقة Windows ضمن تطبيق ويب إنترانت ASP.NET
ومع ذلك، إذا كنت كذلك باستخدام مصادقة النماذج، فسيتعين عليك تتبع المستخدم الحالي بنفسك، فإن الطريقة الأكثر شيوعا التي ستكون من خلال تخزين اسم تسجيل الدخول في متغير الجلسة.
نصائح أخرى
احصل على ال User
المعلومات كما يلي:
User.Identity.Name \\ Get the User name
User.Identity.AuthenticationType \\ What is the Authentication type
User.Identity.IsAuthenticated \\ Is he authenticated?
User.IsInRole("Administrators") \\ Is he administrator?
إذا تم إعداد المصادقة للقيام بمصادقة Windows المدمجة، فعليك أن تكون قادرا على الحصول عليها عن طريق الوصول إليها
User.Identity.Name
يمكنك استخدام
Page.User.Identity.Name
إذا كانت المصادقة هي Windows، فينبغي أن يساعد ذلك:
IIdentity WinId= HttpContext.Current.User.Identity;
WindowsIdentity wi = (WindowsIdentity)WinId;