طريقة آمنة لمصادقة مسؤول في ASP.NET الموقع مستخدما OpenID مع DotNetOpenID

StackOverflow https://stackoverflow.com/questions/56944

  •  09-06-2019
  •  | 
  •  

سؤال

شجع لذلك أنا أحاول أن أكتب ASP.NET موقع يستخدم OpenID على مصادقة المستخدم.انها العادية WinForms الموقع (لا MVC.NET) ، وذلك باستخدام DotNetOpenId مكتبة للمصادقة.

هل هو آمن بالنسبة لي السماح/رفض الوظائف الإدارية على الموقع من خلال المقارنة بين للدورة الحالية "ClaimedID" (كما عاد في OpenIdLogin_LoggedIn الحدث الأعضاء DotNetOpenId.RelyingParty,OpenIdEventArgs.استجابة.ClaimedIdentifier) معروف المسؤول OpenID (أيالألغام)?

إذا كان الأمر كذلك ، هل هو آمن لهذه الهوية أن تكون مرئية (مثلفي التعليمات البرمجية مفتوحة المصدر) ، أو ينبغي أن يكون "خفية" في تكوين ملف أو قاعدة بيانات الصف ؟ (وأنا أعلم أنه من الأفضل تصميم لجعله شكلي, سؤالي هو فقط حول السلامة.)

هل كانت مفيدة؟

المحلول

جاريت يجعل بعض تعليقات جيدة حول استخدام جداول قاعدة البيانات.

فقط إجابة واحدة أخرى من الأسئلة الخاصة بك, لا, إنه ليس شيء من السرية إلى وضع OpenID في التعليمات البرمجية الخاصة بك عموما.إذا كان إعداد أدوار يبدو مبالغة على موقع الويب الخاص بك ، بسيطة المساواة تحقق ضد ClaimedIdentifier هو مجرد الكمال.

نصائح أخرى

الحل هو أن تتبع نفس فكرة أدوار الجدول.بعد مصادقة المستخدم ، بحث المستخدم الأدوار.إذا كان المستخدم لديه دور "مسؤول" في UserRoles الجدول, ثم أنها يمكن أن تفعل كل ما يمكن للمدير القيام به.

لا بث فتح معرف في التطبيق.انهم المخزنة في الجدول.على كل عمل يؤدي أنا ضرب المستخدمين الجدول ، حيث يجب أيضا تعديل لي لتخزين مختلف المستخدم معلومات الدولة.باستثناء الصفحة الرئيسية, سيكون هناك بعض معلومات المستخدم التي أريد من هذا الجدول.أنا باستخدام LINQ لذا تشمل .LoadWith() لتحميل المستخدم مع قائمة الأدوار عندما يسلسل.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top