2009-09-08 197 views
0

我目前有三個網站都來自同一個DB跨網絡的域登錄

例如網站上運行:

  • www.mysite.com
  • admin.mysite.com
  • members.mysite.com

,因爲現在這一切都運行˚F從一個數據庫他們都使用相同的.NET會員表。

  • 所有成員都在一個作用:會員
  • 所有管理員都在一個角色:管理員

因此管理員可以登錄到管理界面並訪問所有管理功能等,但成員如果他們試圖登錄管理區域會彈出回登錄屏幕而沒有任何消息,我想要發生的是將他們重定向到該網站:members.mysite.com並讓他們登錄。

As我可以將它們發送到管理站點的一個頁面,該頁面執行response.redirect('http://members.mysite.com');但他們必須再次登錄。

那麼有沒有什麼好的方法來做到這一點,或者我是否用querystring做了一些不安全的操作?

回答

0

只要你使用一個獨特的'一次性令牌',在用來執行登錄操作之後被刪除(這就是Google的做法),Querystring就可以了。

編輯 - 基本步驟是

  1. 在數據庫中生成一個加密的安全令牌
  2. 商店令牌/用戶名組合
  3. 重定向到新的網站標記= XXXXXXXXXXXXXXXX
  4. 新站點看到令牌,?在數據庫中查找匹配的用戶名並刪除令牌
  5. 以該用戶身份執行登錄過程
+0

任何想法如何做到這一點,因爲我會直接做到這一點,將發送一個加密版本的用戶名和密碼,但這是非常糟糕的 – JamesStuddart

+0

非常感謝,認爲這就是你的意思,但想要確保;確定。 – JamesStuddart

+0

只是想我會留下一個評論,說這是一個很好的方式來做到這一點,它可以無縫工作,一些繁瑣的web服務,但它的一切都很好,謝謝 – JamesStuddart