soap應用之一多點登陸(喜悅村首發)

來源:互聯網
上載者:User
繼續上一篇文章,繼續談下soap的多網站登陸,跨網域名稱登陸,半夜沒睡著一直想這個問題,2點起來把它變成文字。哈哈
這個東西我還沒具體的的用代碼實現,但是把原理理清楚了,應該是實現起來沒有問題的。

首先 在server端,建立3個函數,一個是登陸 函數 需要參數 使用者名稱,密碼,伺服器,
另外一個是根據user id取得 使用者資料的函數,第三個就是登出了。

用戶端
全存在2中可能,一種是使用者沒有登陸(當然是提供,使用者名稱,密碼,伺服器代碼 讓他去登陸),一種 已經在別的地方登陸過了
(提供登陸user id,伺服器代碼 ,我們取得資料重新把session在新的網域名稱下註冊下)

應該也是2個函數
一個登陸   參數 :使用者名稱,密碼,伺服器代碼
一個是多點登陸  參數 :user id

下面把原理示範下
網域名稱一  使用者沒有登陸 提供使用者名稱,密碼,跟登陸代碼 我們向server端發送一個請求,返回使用者的使用者名稱,跟密碼是否正確,如果正取
同時返回其他的有用的資訊,我們放到session裡,這個時候應該在這個登陸的網站完成了登陸。

使用者從網域名稱一跳轉到網域名稱二 用get的方式跳轉,提供一個user id

網域名稱二  查看網域名稱下沒有使用者的session 資訊,然後看看是否提供了user id 如果提供了,向伺服器發送了一個請求,提供user id號
這個時候,應該順便在發送一個標誌,證明使用者是從這個網站發送的請求,為了加強安全性,不過這個時候還是有可能接受到髒的資料,
因為user id還是暴露給使用者了,可以修改的,但是這樣出現的user id 存在的可能性比較低但是存在。伺服器取得user id後
同時判斷是否是正確的地址發送的請求,如果一切正常,尋找並返回相關的資訊,網域名稱2接受到 server返回的資料,然後註冊session。

具體的情況還是要根據具體的需求去修改的,中間傳遞的user id可以加密,等等的方式處理下,但是這個資料還是會有些問題。

可以採用 裡頭頭幾天發的 ]  passport設計一例 中提到的方法 ,還可以 使用一個 2 個庫 或者多個庫共存的方式,只不過,根據不同的網域名稱
下提供不同的資訊而已。

大家仔細研究下,或者好好想想,就能發現這樣完成比用純粹的get方式傳遞的好處了,使用者可以汙染的資料已經很少了。而且關於soap的安全性
現在已經漫漫的規範起來了,如果做好了,我們加上安全措施也是比較簡單的。

        書寫完畢,睡覺去了!關於web server的東西應該還有很多,漫漫的體會,會發現更多的東西!特意弄了本書,不過發現網路的資料
現在已經遠遠的超過的鉛字的速度,我今天想找本關於python的書,去了王府井,我沒有找到!

作者:三石
mail:sanshi0815@tom.com
 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.