Ff7afae5b23125e25e18ad8c0404bd78

請教關於網址的設計方式

2012-02-02 16:54:13 +0800hechianRuby on Rails 節點 中發起
最後由 hechian2012-05-11 14:40:27 +0800回應 , 467次閱讀

由於Single sign on實在太難搞了,所以我現在採用一個大站來包所有小網站的方式,可是現在發現到有一點問題不知道該怎樣處理

我現在的狀況是要把:

1. abc.example.com
2. def.example.com
3. ghi.example.com
(怎麼越縮越短= =)

變成是
1. example.com/abc
2. example.com/def
3. example.com/ghi

而每個網站可能都會有重複的東西,譬如1跟2都會有share controller:

1. example.com/abc/share
2. example.com/def/share

那這樣我該如何實作呢?

截至 2012-05-11 14:40:27 +0800,共收到 6 條回應
19e786a2a74377ff6e052d87fd8d1fa8
xdite 1樓, 於2012-02-02 17:54:08 +0800回應

其實你應該做 xxx.example.com 的方式。而且如果同網域的話,你可以把 cookie / session 的 domain 設為 .example.com ,而非 abc.example.com 。這樣就不必碰觸到 single-sign-on 的問題。

至於 single-sign-on 我是使用 ruby-cas 這一套。

Ff7afae5b23125e25e18ad8c0404bd78
hechian 2樓, 於2012-02-03 22:59:08 +0800回應

Try了老半天一直不成功,後來發現secret_token可能要改,果然改掉後就成功了
感謝XDite的協助
另外想請教SSO跟這種用同網域的方式來比較的話,ruby-cas的方式會比較安全是嗎?

19e786a2a74377ff6e052d87fd8d1fa8
xdite 3樓, 於2012-02-04 04:46:28 +0800回應

sso 是會去認證一次拿 token,然後只在該子網域生效,理論上會安全一點吧...

Ff7afae5b23125e25e18ad8c0404bd78
hechian 4樓, 於2012-05-09 11:39:10 +0800回應

Hi @xdite
不好意思,我想再請教一下 ... SSO的這個部分,會建議用Devise實作嗎?
還是自己手動寫一個使用者驗證的部份會比較好一點?

2b0e03ef8ff7fd827f57f53c79346bc3
chitsung 5樓, 於2012-05-09 13:21:50 +0800回應

如果只是要讓 multi site 裡的各子域名同步登入(出),只要在 session_store.rb 裡設定

Your_app::Application.config.session_store :cookie_store, :key => '_your_session', :domain => :all

Ff7afae5b23125e25e18ad8c0404bd78
hechian 6樓, 於2012-05-11 14:40:27 +0800回應

那這樣子Devise的 current_user 變數會不會變啊?
像是如果用Namespace的時候,current_user會變成#{namespace}_current_user ...

需要 登入 後方可回應,如果你還沒有帳號按這裡 註冊