日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
企業(yè)級系統(tǒng)的認(rèn)證與授權(quán)設(shè)計

 首先我們要搞清楚一個問題,什么是認(rèn)證,什么是授權(quán)。

認(rèn)證——你是誰(Who)?

  認(rèn)證:認(rèn)證(authentication):即對不同的用戶進(jìn)行識別,檢查用戶是否有權(quán)限對那些受限制的界面進(jìn)行訪問,這種稱為認(rèn)證。比如登錄。

授權(quán)——誰(Who),在那個系統(tǒng)(Where),可以做什么(What)?

  授權(quán)(authorization):決定用戶可以對哪些功能按鈕進(jìn)行操作,對那些數(shù)據(jù)(數(shù)據(jù)行,數(shù)據(jù)列)進(jìn)行有效的訪問即稱作為授權(quán)。

  其中功能操作的授權(quán)稱作為功能權(quán)限。比如下圖:員工A要有 公司知識庫平臺->培訓(xùn)->培訓(xùn)預(yù)算->申請培訓(xùn)->培訓(xùn)列表頁面的【查詢】和【申請】按鈕,同時員工A要有 公司綜合管理平臺 ->信息中心->通知公告->通知公告列表頁面的【發(fā)布】和【查詢】按鈕的操作權(quán)限。如圖所示,在現(xiàn)實場景中,跨平臺,跨系統(tǒng)的場景比比皆是。

  其中數(shù)據(jù)權(quán)限以下圖為例:我們看到下圖用紅色框圈起來了一個數(shù)據(jù)列表。假設(shè)這個數(shù)據(jù)列表為某企業(yè)集團(tuán)的銷售匯總表。

  現(xiàn)在客戶提出了如下幾個需求:

  1) 銷售總經(jīng)理可以查看所有的匯總數(shù)據(jù)。

  2) 大區(qū)經(jīng)理只能查看自己所屬大區(qū)的數(shù)據(jù)。

  3) 職位等級在二級以下(包括二級)的只能查看自己所屬區(qū)域交易累計金額小于1000的數(shù)據(jù)。

  4) 只有銷售總經(jīng)理,大區(qū)經(jīng)理能查看聯(lián)系方式。

  如此需求,在企業(yè)級ERP開發(fā)中屢見不鮮,為了解決客戶的需求,我們不得不反復(fù)的去修改和發(fā)布代碼,其實我們可以通過簡單的配置來滿足客戶的需求。這個簡單的配置我們就可以稱之為認(rèn)證授權(quán)系統(tǒng),說到這兒,就簡單的把這個系統(tǒng)的概念引申出來了。

  那我們要設(shè)計這個系統(tǒng),我們要考慮到一些什么因素呢?要做出一個適應(yīng)客戶需求變化的系統(tǒng),必須要具備一個良好的設(shè)計。

  首先,認(rèn)證與授權(quán)系統(tǒng)的架構(gòu)應(yīng)該是一個SOA的架構(gòu)。這兒所用的SOA絕對不是趕技術(shù)的時髦。因為一個企業(yè)集團(tuán)可能有幾個,甚而幾十個,上百個的子系統(tǒng)。我們不可能為每個子系統(tǒng)都維護(hù)個套用戶表,角色表,以及一套權(quán)限系統(tǒng)。所以要把這個認(rèn)證與授權(quán)的功能給抽出來,做成一個松耦合的子系統(tǒng)。但同時這個子系統(tǒng)要與其它系統(tǒng)進(jìn)行數(shù)據(jù)交互,所以我們要采用一定的技術(shù)手段來與業(yè)務(wù)系統(tǒng)通信,不管是用Web Service還是WCF,其實目的都只有一個,就是讓認(rèn)證與授權(quán)系統(tǒng)與其它業(yè)務(wù)系統(tǒng)進(jìn)行通信。這樣即實現(xiàn)了一處維護(hù)多處運用的場景,這樣就實現(xiàn)了系統(tǒng)級的重用,當(dāng)然,采用了SOA的開發(fā),就不得不提SOA的安全,我在這個系統(tǒng)里是使用的c#攔截器機(jī)制,具體的實現(xiàn)以后有機(jī)會單獨提出來與大家分享,有感興趣的朋友我們可以建一個群共同交流。

  

  其次,系統(tǒng)的可擴(kuò)展性要強(qiáng),特別要有一個強(qiáng)有力的代碼支撐。比如認(rèn)證授權(quán)這個系統(tǒng),用B/S模式的更好,還是用C/S模式的更好?這個是各圓其說,我做了六年的B/S項目,但是我***還是選擇用C/S的結(jié)構(gòu)來開發(fā),其中的原因以后有時間一一道來。我們來欣賞下現(xiàn)的一個代碼片段:

  

   我把客戶端的驗證放在了Model上,如果在B/S架構(gòu)下,我不用重復(fù)的去寫一次JavaScript的驗證。常用MVC的朋友都知道在B/S結(jié)構(gòu)下,怎樣用Model的屬性進(jìn)行客戶端的驗證了。在C/S結(jié)構(gòu)下,可以通過WPF輕而易舉的實現(xiàn)客戶端的驗證,這樣寫的目的,就達(dá)到了代碼級別的重用。

  還有一個比較重要的因素,就是用戶體驗。當(dāng)我們的程序設(shè)計的如何的好,代碼重構(gòu)的怎樣的精練,如果沒有一個好的人機(jī)交互,想必會抹殺很大一批用戶的好感。對我們程序員來說,要設(shè)計一個好的人機(jī)交互界面,確實有待提升。我以現(xiàn)在這個系統(tǒng)的UI來說吧,在短短半年的時間里,UI重構(gòu)了三次,***次是用WPF下的Ribbon插件來設(shè)計的。第二次是用微軟官方示例提供的設(shè)計,其中還包括了動態(tài)翻頁的效果,非常炫。第三次,采用微軟的Metro風(fēng)格設(shè)計。很明顯每次的設(shè)計都有質(zhì)的提升。

  ***個版本的界面:Ribbon。

  

第二個版本的界面:WPF技術(shù)下實現(xiàn)的翻頁特效界面。

 第三個版本的界面(Metro):采用Prism + MVVM開發(fā)的。

   每個界面雖然都丑,但是也各具特色。只是個人的喜好而已。


當(dāng)前題目:企業(yè)級系統(tǒng)的認(rèn)證與授權(quán)設(shè)計
本文地址:http://www.5511xx.com/article/cdghjhc.html