日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > windows >内容正文

windows

web业务系统权限控制

發(fā)布時間:2023/12/15 windows 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 web业务系统权限控制 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

來源:http://blog.chinaunix.net/u1/52224/showart_410119.html

?

在以往的系統(tǒng)設(shè)計中,要么缺乏權(quán)限控制,要么就是權(quán)限控制很簡單,,要么權(quán)限控制功能雖然豐富,但是 跟業(yè)務(wù)緊密結(jié)合,下面提供一種權(quán)限控制模型,將權(quán)限控制按功能劃分為彼此獨立的最小依賴的功能模塊,通過合理的部署這些模塊,完成權(quán)限控制、單獨登陸等功 能。

系統(tǒng)劃分為業(yè)務(wù)邏輯、權(quán)限管理、權(quán)限驗證、登陸代理、登陸服務(wù)、用戶管理、業(yè)務(wù)邏輯數(shù)據(jù)庫、業(yè)務(wù)權(quán)限數(shù)據(jù)庫和用 戶數(shù)據(jù)庫。

??? 業(yè)務(wù)邏輯是業(yè)務(wù)本身。 ??? 權(quán)限管理負(fù)責(zé)權(quán)限的增、刪、查、改,角色的增、刪、查、改,用戶權(quán)限分配,角色權(quán)限分配,用戶的角色分配。權(quán)限管理通過用戶管理的用戶查詢服務(wù)來查詢用戶 憑證。 ??? 權(quán)限驗證提供用戶權(quán)限查詢服務(wù)。 ??? 登陸代理轉(zhuǎn)發(fā)登陸請求,保存登陸用戶憑據(jù)。 ??? 登陸服務(wù)接收登陸請求,驗證用戶身份,返回登陸用戶憑據(jù)。 ??? 用戶管理負(fù)責(zé)用戶的增、刪、查、改,用戶組織結(jié)構(gòu)的增、刪、查、改。 ??? 業(yè)務(wù)邏輯數(shù)據(jù)庫保存業(yè)務(wù)數(shù)據(jù)。 ??? 業(yè)務(wù)權(quán)限數(shù)據(jù)庫保存權(quán)限數(shù)據(jù)、角色數(shù)據(jù)、角色權(quán)限數(shù)據(jù)、用戶權(quán)限數(shù)據(jù)、用戶角色數(shù)據(jù)。 ??? 用戶數(shù)據(jù)庫保存用戶數(shù)據(jù)、用戶組織結(jié)構(gòu)數(shù)據(jù)。

什么是用戶憑證?

??? 用戶憑證就是唯一識別用戶的標(biāo)識,通常是用戶ID,用戶憑證要求任何相同的用戶有相同的用戶憑證,任何不同用戶有不同的用戶憑證,用戶憑證一旦生成不能重 用。使用UUID作為用戶憑證是一種可靠的方法,數(shù)據(jù)庫的Sequence也是不錯的選擇。 ??????

權(quán)限管理如何獨立于業(yè)務(wù)邏輯?

??? 以往的設(shè)計中權(quán)限管理都是與業(yè)務(wù)邏輯密切聯(lián)系的,并且經(jīng)常作為一個整體來設(shè)計,權(quán)限管理之所以能獨立于業(yè)務(wù)邏輯,得益與RBAC權(quán)限管理理論,參考 http://csrc.nist.gov/rbac/ ??? 在RBAC中,權(quán)限的四個主體是用戶、角色、資源、操作,他們之間的關(guān)系為: ??? 用戶隸屬某幾個角色,資源和操作成對組成權(quán)限,權(quán)限分配給角色實現(xiàn)權(quán)限控制。 ??? 業(yè)務(wù)系統(tǒng)的所有功能可以分解為操作-資源集合,也就是權(quán)限集合,權(quán)限管理只需要管理這個集合,而不再需要理解業(yè)務(wù)邏輯本身,所以權(quán)限管理可以獨立于業(yè)務(wù)邏 輯。 ??? 權(quán)限管理既然獨立于業(yè)務(wù)邏輯,所以可以靈活部署權(quán)限管理。 ??? 通常有集中式和分布式兩種。 集中式部署將權(quán)限管理部署在一個獨立的地方,所有業(yè)務(wù)邏輯共用一個權(quán)限管理,因為權(quán)限由資源和操作組成,所以通 過的不同業(yè)務(wù)附加資源和操作前綴,可以避免業(yè)務(wù)系統(tǒng)間權(quán)限混淆,集中部署能集中管理,提高管理效率,但是當(dāng)存在大量的業(yè)務(wù)系統(tǒng)時,需要很好的分類設(shè)計才能 區(qū)分各個業(yè)務(wù)系統(tǒng),增加設(shè)計難度。 ??? 分布式部署將權(quán)限管理同業(yè)務(wù)邏輯一起部署,這樣每個業(yè)務(wù)系統(tǒng)有單獨的權(quán)限管理系統(tǒng),有業(yè)務(wù)系統(tǒng)增加時,通過增加一個入口連接可以方便轉(zhuǎn)向權(quán)限管理,當(dāng)業(yè)務(wù) 系統(tǒng)分布在各個地域時,這種方式比較有效,但是權(quán)限管理本身程序有更新時,要同步到各個系統(tǒng)需要很大的開銷。 ??? 不管何種部署方式,因為權(quán)限管理程序都相同,唯一不同的是權(quán)限數(shù)據(jù)庫,所以更改部署方式只要改變數(shù)據(jù)庫指向,開銷很小。

業(yè)務(wù)邏輯如何實現(xiàn)權(quán)限控制?

??? 業(yè)務(wù)邏輯可以分為受保護(hù)資源和不受保護(hù)資源兩種,不受保護(hù)資源不需要權(quán)限控制,用戶訪問受保護(hù)資源時,需要先確定用戶身份,然后驗證用戶權(quán)限,流程圖如 下: ????訪問保護(hù)資源時,業(yè)務(wù)邏輯先詢問登陸代理是否當(dāng)前存在登陸憑證,如果不存在,則要求登陸代理定向到登陸 服務(wù)驗證用戶,獲取用戶憑證。業(yè)務(wù)邏輯得到用戶憑證后,要求權(quán)限驗證驗證該用戶是否具有訪問權(quán)限,如果有,則允許用戶訪問該保護(hù)資源。

權(quán)限管理如何實現(xiàn)權(quán)限控制?

??? 權(quán)限管理本身也是一種特殊的業(yè)務(wù)邏輯,所以具有與業(yè)務(wù)邏輯相似的權(quán)限控制流程。

用戶管理如何實現(xiàn)權(quán)限控制?

??? 用戶管理本身也是一個業(yè)務(wù)系統(tǒng),所以具有一般業(yè)務(wù)系統(tǒng)的結(jié)構(gòu),不過業(yè)務(wù)邏輯數(shù)據(jù)庫和業(yè)務(wù)權(quán)限數(shù)據(jù)庫合并成了用戶數(shù)據(jù)庫,而權(quán)限管理直接引用用戶管理的業(yè)務(wù) 邏輯。 ??? 用戶管理的權(quán)限控制流程類似一般業(yè)務(wù)系統(tǒng)權(quán)限控制流程。

如何實現(xiàn)SSO(單點登陸,Single Sign On)?

??? 單點登陸在用戶切換到其他業(yè)務(wù)邏輯的時候不需要重復(fù)登陸,改善用戶體驗感。 ??? 如果將登陸服務(wù)獨立部署成一個web應(yīng)用程序,登陸代理隨業(yè)務(wù)邏輯一起部署,多個業(yè)務(wù)邏輯共用一個登陸服務(wù),即可實現(xiàn)單點登陸。 ??? 因為登陸服務(wù)共用,所以多個業(yè)務(wù)邏輯共享一個用戶數(shù)據(jù)庫,在一個業(yè)務(wù)系統(tǒng)上能登陸的用戶,在其他業(yè)務(wù)系統(tǒng)上依然能登陸,并且任何用戶登陸過程最后都是在同 一個登陸服務(wù)器上驗證用戶信息,所以可以把已經(jīng)登陸的用戶狀態(tài)通過COOKIE等方式保存起來,下次其他業(yè)務(wù)系統(tǒng)請求登陸時,可以首先檢查COOKIE, 如果已經(jīng)登陸則不在要求用戶輸入驗證信息。 ??? 用戶先訪問業(yè)務(wù)邏輯1,通過登陸代理1登陸,登陸代理1轉(zhuǎn)發(fā)到登陸服務(wù),登陸服務(wù)發(fā)現(xiàn)COOKIE沒有登陸信息,則提示用戶輸入驗證信息,核對成功后返回 用戶憑據(jù)到登陸代理1并且附帶COOKIE標(biāo)志用戶已經(jīng)登陸。 ??? 然后用戶訪問業(yè)務(wù)邏輯2,通過登陸代理2登陸,登陸代理2轉(zhuǎn)發(fā)到登陸服務(wù),登陸服務(wù)發(fā)現(xiàn)COOKIE有登陸信息,表明用戶已經(jīng)登陸,直接返回用戶憑證到登 陸代理2。 ??? 使用SSO方式以后,用戶管理同登陸服務(wù)一樣單獨部署,這樣另一個好處是管理方便。

如何實現(xiàn)企業(yè)聯(lián)合認(rèn)證?

??? 企業(yè)聯(lián)合是指用戶在企業(yè)合作伙伴的業(yè)務(wù)系統(tǒng)間切換時,不用重新登陸,并且各個合作伙伴保存自己的用戶,這些用戶能在其他合作伙伴的業(yè)務(wù)系統(tǒng)上登陸。 ??? 首先企業(yè)合作伙伴要能區(qū)別各自企業(yè)的用戶憑證,使用UUID或數(shù)據(jù)庫Sequence表示用戶憑證可能會導(dǎo)致不同企業(yè)的用戶憑證沖突,所以應(yīng)該把企業(yè)標(biāo)識 作為用戶憑證的一部分。 ??? 其次企業(yè)合作伙伴間要相互信賴對方的用戶憑證,需要使用企業(yè)證書對用戶憑證進(jìn)行數(shù)字簽名。 ??? 最后是用戶登陸驗證的轉(zhuǎn)發(fā),因為企業(yè)標(biāo)識作為用戶憑證的一部分,所以如果用戶是首次登陸,登陸服務(wù)可以通過企業(yè)標(biāo)識轉(zhuǎn)發(fā)登陸請求到對應(yīng)的合作伙伴的登陸服 務(wù)器,如果用戶已經(jīng)登陸,通過COOKIE等方式獲取經(jīng)過簽名的用戶憑證后,使用企業(yè)標(biāo)識的企業(yè)證書驗證該用戶憑證,驗證通過即可信賴該用戶的登陸狀態(tài)而 不用再轉(zhuǎn)發(fā)到合作伙伴的登錄服務(wù)器。

/***
Copyright 2006 bsmith.zhao@qq.com

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

???http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

*/

總結(jié)

以上是生活随笔為你收集整理的web业务系统权限控制的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。