سؤال

ما هو الحل الأفضل لتنفيذ علامة واحدة في .صافي التطبيق ؟ لقد بحثت و وجدت بعض الحلول ولكن أنا لست مقتنعا جدا مع تلك الحلول.

المستخدم بتسجيل الدخول website1 ثم ينتقل إلى website2.كيف website2 سوف تعرف المستخدم قد سجل دخوله ؟ أعتقد من خلال تمرير بعض المنوال في url التي سيتم فحصها من قبل website2 في قاعدة البيانات من صحتها.هذا يعني أنني بحاجة إلى مارشال جميع عناوين url في website1 الذي يأخذ إلى website2?

ثانيا إذا كان المستخدم الاستمرار في تصفح website2 لمدة 1 ساعة ثم الانتقال إلى website1.في ذلك الوقت website1 الدورة انتهت مهلة حتى المستخدم سوف ترى صفحة تسجيل الدخول, أليس كذلك ؟ ولكن هذا سلوك خاطئ كما في علامة واحدة على وظيفة.

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

المحلول

أعتقد أنك أسأت فهم كيفية الدخول الموحد يعمل.

يتيح النظر في website1 وwebsite2 الذين ترغب في استخدام واحد signon.

تسجيل الدخول يتم إنشاء الموقع في identityProvider.هذا هو المكان الوحيد حيث أن يظهر شاشة تسجيل الدخول.

عندما يقوم المستخدم بزيارة website1 واختيار تسجيل الدخول website1 يرسل المستخدم إلى شاشة تسجيل الدخول في identityProvider.يسجل المستخدم على identityProvider الذي يسقط الخاصة الكعكة الدخول على المجال (وربما يسمح للمستخدم حفظ معلومات المصادقة حتى انهم لم مطالبتك مرة أخرى).ومن ثم إعادة توجيه المتصفح إلى website1 بما في ذلك مميز في الطلب الذي website1 الشقوق المفتوحة يحصل على معلومات هوية من يقوم هو نفسه الدخول بت (اسقاط نفسه ملف تعريف ارتباط المصادقة الذي يستمر لمدة ومع ذلك فإنه يريد).

ثم يقوم المستخدم بزيارة website2 ويختار تسجيل الدخول.Website2 مستبعد المستخدم identityProvider الذي يعرف مسبقا من هو المستخدم ، وإذا كان المستخدم قد اختار حفظ معلومات تسجيل الدخول بصمت يصادق ثم الموجهات إلى website2 مع آخر المميز الذي website2 الشقوق المفتوحة ثم يؤدي تسجيل الدخول الخاصة بت.

هناك مجموعة من الأمن حوله ، مما يحد من الرموز إلى مواقع معينة فقط مما يسمح الرموز ليتم إرسالها إلى القائمة البيضاء مواقع الإنترنت ... الخ.الخ.

لذا لمعالجة المخاوف الخاصة بك

  1. المستخدم بتسجيل الدخول website1 ثم ينتقل إلى website2.كيف website2 سوف تعرف المستخدم قد سجل دخوله ؟ لا.website2 يجب طلب معلومات المصادقة من واحد signon الموقع الأول.
  2. هذا يعني أنني بحاجة إلى مارشال جميع عناوين url في website1 الذي يأخذ إلى website2?لا, إلا إذا كنت جعل website1 موفر الهوية أيضا.حتى ذلك الحين سيكون ذلك مؤلما ، من الأفضل أن يكون website2 إعادة توجيه إلى identityprovider إذا كان المميز هو ضروري.
  3. ثانيا إذا كان المستخدم الاستمرار في تصفح website2 لمدة 1 ساعة ثم الانتقال إلى website1.في ذلك الوقت website1 الدورة انتهت مهلة حتى المستخدم سوف ترى صفحة تسجيل الدخول, أليس كذلك ؟ - ذلك يعتمد على كيفية تكوين website1, وكم هو ملف تعريف ارتباط المصادقة يستمر لمدة.
  4. ولكن هذا سلوك خاطئ كما في علامة واحدة على وظيفة.لا الأمر ليس كذلك.واحد signon لا يعني أنك تحصل على العائمة المميز الذي هو مشترك بين المواقع.كل موقع على شبكة الإنترنت والذي يستخدم single sign-on لا يزال يخلق بهم ملف تعريف ارتباط المصادقة.ما يمكن أن يحدث هو إذا كان المستخدم يعود إلى website1 يكشف منتهية الصلاحية ملف تعريف ارتباط المصادقة ، ثم يرسل المستخدم إلى واحد signon الصفحة مرة أخرى حيث انهم مصادقة (بصمت) و رمزية جديدة دفعت إلى website1 مما يخلق جديد ملف تعريف ارتباط المصادقة على نفسها.

نصائح أخرى

ونهج مايكروسوفت الرسمية هو عبر خدمات الاتحاد الدليل النشط (الذي يلتف SAML مع مصادقة AD). وهذا له الخصائص التي كنت تبحث عن - ولكن ما قد يكون الوزن الثقيل للغاية بالنسبة لتطبيقات الويب العامة

وأفترض أن كنت لا تريد استخدام مصادقة Windows مع Active Directory، الخ أسلوب واحد هو تسليم من جلسة مصادقة واحدة إلى أخرى باستخدام رمز الأمان على سلسلة الاستعلام، كما تصفون.

وكلا التطبيقات استخدام نفس مفتاح التشفير العام لتشفير / فك رمز الأمان. كما تقول، وهذا يعمل بشكل جيد إذا كنت محدودة، وصلات الانتقال محددة مسبقا بين المواقع ولكن إذا كنت تريد أن تكون قادرة على استخدام أي وصلات صفحات بين التطبيقات التي تحتاجها لتوليد تلك عناوين المواقع على الطاير بحيث أنها تحتوي على الرمز المميز.

والطريقة التي تتعامل مع مهلة هي أن رمز الأمان يحتوي أيضا على وقت انتهاء الصلاحية. يمكنك إنشاء رمز أمني جديد لكل طلب صفحة، أو عند إنشاء وصلة جديدة بين التطبيقات.

وعادة ما يحتوي على رمز الأمان معرف المستخدم ومهلة والمدقق تسجيل الدخول إما إرجاع حاليا أو لاغية إذا انتهت صلاحية المهلة.

وانها ليست حلا سريعا لرمز بشكل صحيح وآمن. ربما يمكنك العثور على واحدة بنيت مسبقا على مشروع القانون؟

يمكنك استخدام مختلف SSO آلية التطبيق المختلفة استنادا إلى التطبيق الخاص بك.

ومع ذلك ، يمكن أن أرى "الخروج من مربع SSO"خدمة من العيش, Google, Yahoo, Facebook.... الختقديم مصادقة من خلال دعم SAML.وهذا سوف يساعدنا على التخلص من قضايا الحفاظ على منطقتنا SSO تنفيذ الخدمة.

إذا كنت بحاجة إلى فهم أساسي لكيفية SSO العمل ، يمكنك الرجوع هنا

MS قمت ببحث على ذلك داخل المؤسسة بضع سنوات - نحن انشاء العينات ولكن لم ينفذ هذا حقيقي - Single Sign-on

تحقق من هذا الارتباط باستخدام أوث والاجتماعية مقدمي الخدمات ، فإنه يوفر العديد من المصادقة قدرات المطبوخة بالفعل في .صافي مايكروسوفت الفيديو التدريب على بروتوكول OAuth علامة واحدة مع مقدمي الخدمة الاجتماعية

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