كيف يمكنني تسجيل الخروج للعمل على RubyCAS-Server؟

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

  •  09-06-2019
  •  | 
  •  

سؤال

لقد قمت بتثبيت وإعداد RubyCAS-Server وRubyCAS-Client على جهازي.يعمل تسجيل الدخول بشكل مثالي ولكن عندما أحاول تسجيل الخروج أحصل على رسالة الخطأ هذه من RubyCAS-Server:

Camping Problem!

CASServer::Controllers::Logout.GET

ActiveRecord::StatementInvalid Mysql::Error: Unknown column 'username' in 'where clause': SELECT * FROM `casserver_pgt` WHERE (username = 'lgs') :

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

هل يعرف أحد لماذا يحدث هذا وماذا يمكنني أن أفعل حيال ذلك؟

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

المحلول

يبدو أن هناك خطأ في الإصدار 0.6 من الجوهرة (ربما يتزامن مع التغيير الذي تم إجراؤه على المكتشفين في Rails 2.1) كما هو مفصل في هذا تذكرة علة.وفي هذه الأثناء، يمكنك أن تجرب التثبيت من الشجرة المصدر.

نصائح أخرى

في حالة روبي CAS هناك نوعان من الجلسات:

(1).جلسة التطبيق.

(2).جلسة تسجيل الدخول الموحد (SSO).

يمكنك استخدام جوهرة جلسة سيناترا لإدارة جلسة التطبيق واستخدامها فقط جلسة_نهاية! طريقة مساعدة لتدمير جلسة التطبيق.لتدمير جلسة SSO قم بإلغاء تعيين الجلسة[:cas_ticket] المعلمة في طريق تسجيل الخروج.

مثال:

في حالة سيناترا: get '/logout' do session_end! # provided by sinatra-session gem session[:cas_ticket] = nil # session variable set by CAS server end

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