Add logout menu to OpenShift Origin 3

Fri 3 Jan 2014
ใช้เวลาอ่าน 1 นาที

OpenShift Origin จะไม่มีระบบจัดการ User มาให้ดังนั้นใครที่จะนำมาใช้ก็ต้องจัดการเองทั้งหมด ทำมือเอาได้หมดครับ ถ้าใครทำตามคู่มือเบื้องต้นเขาจะแนะนำให้ใช้ User แบบ Basic Auth ซึ่ง Session ของ User จะหลุดก็ต่อเมื่อเราปิด Browser ทิ้งแต่ถ้าระหว่างที่ยังเปิดอยู่ Session ก็จะยังค้างถ้าใครเปิดเข้าไปก็จะใช้งานในสิทธิ์เราได้ ผมมีวิธีลูกทุ่ง ๆ ในการแก้ปัญหาเฉพาะหน้าไปก่อนโดยการแก้ไขสามแฟ้มดังนี้ครับ

diff -aur /root/test/opt/rh/ruby193/root/usr/share/gems/gems/openshift-origin-console-1.18.0.1/app/controllers/account_controller.rb /opt/rh/ruby193/root/usr/share/gems/gems/openshift-origin-console-1.18.3/app/controllers/account_controller.rb
--- /root/test/opt/rh/ruby193/root/usr/share/gems/gems/openshift-origin-console-1.18.0.1/app/controllers/account_controller.rb    2014-01-03 15:20:39.736819307 +0700
+++ /opt/rh/ruby193/root/usr/share/gems/gems/openshift-origin-console-1.18.3/app/controllers/account_controller.rb    2013-12-27 13:02:05.895483493 +0700
@@ -2,4 +2,7 @@
   def show
     @user = current_user
   end
+  def logout
+    redirect_to "https://logout@"+request.host
+  end
 end

 

--- /root/test/opt/rh/ruby193/root/usr/share/gems/gems/openshift-origin-console-1.18.0.1/app/helpers/console/console_helper.rb    2014-01-03 15:20:39.743820144 +0700
+++ /opt/rh/ruby193/root/usr/share/gems/gems/openshift-origin-console-1.18.3/app/helpers/console/console_helper.rb    2013-12-27 17:38:25.113984337 +0700
@@ -2,7 +2,7 @@

   #FIXME: Replace with real isolation of login state
   def logout_path
-    nil
+    '/console/account/logout'
   end

 

diff -aur /root/test/opt/rh/ruby193/root/usr/share/gems/gems/openshift-origin-console-1.18.0.1/lib/console/rails/routes.rb /opt/rh/ruby193/root/usr/share/gems/gems/openshift-origin-console-1.18.3/lib/console/rails/routes.rb
--- /root/test/opt/rh/ruby193/root/usr/share/gems/gems/openshift-origin-console-1.18.0.1/lib/console/rails/routes.rb	2014-01-03 15:20:39.774823850 +0700
+++ /opt/rh/ruby193/root/usr/share/gems/gems/openshift-origin-console-1.18.3/lib/console/rails/routes.rb	2013-12-27 12:51:26.293693116 +0700
@@ -13,6 +13,7 @@
       def openshift_console_routes
         id_regex = /[^\/]+/

+	match 'account/logout' => 'account#logout', :via => :get
         match 'help' => 'console_index#help', :via => :get, :as => 'console_help'
         match 'unauthorized' => 'console_index#unauthorized', :via => :get, :as => 'unauthorized'
         match 'server_unavailable' => 'console_index#server_unavailable', :via => :get, :as => 'server_unavailable'
@@ -73,7 +74,7 @@
         # Account specific resources
         resource :account,
                  :controller => :account,
-                 :only => :show
+                 :only => [:show, :logout]
       end
   end
 end

 

 

 

 

ที่คล้ายกัน

OpenShift Origin Nightly on CentOS 6.5 VirtualBox