كيف يمكنني توليد رمز الأمن SAML ضمن التطبيق نفسه أن يستهلك ذلك؟

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

سؤال

ولقد تم تكوين بعض التطبيقات جهدي لاستخدام ويندوز مؤسسة الهوية. يمكنني استخدام إعادة توجيه السلبي للحصول على الرموز الأمنية من رمز الخدمة الأمن. I إنجاز هذا عن طريق إدخال كود WIF إلى موقع على شبكة الإنترنت تسجيل الدخول التي كانت موجودة قبل أن بدأت باستخدام WIF ثم استخدام "إضافة STS المرجعي" داخل التطبيقات.

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

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

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

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

المحلول

ومن الممكن لوضع الطبقة الأمن رمز الخدمة ضمن التطبيق الخاص بك.

ولكن، حتى يتسنى للمستخدم أن يكون قادرا على الوصول إلى السجل في صفحة في التطبيق الخاص بك قبل أن تمكنت من الحصول على رمز، يجب إزالة deny users=? من قسم Authorization من الملف web.config. هذا وسوف تسمح للمستخدمين لتصل إلى صفحة الويب الخاصة بك مع أي رمز الأمان. بمجرد تسجيل الدخول، توجيهها إلى الصفحة المناسبة.

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

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