java 開(kāi)發(fā)框架 cas server是怎么認(rèn)證用戶(hù)的?
cas server是怎么認(rèn)證用戶(hù)的?作為統(tǒng)一的用戶(hù)認(rèn)證中心,CAS只負(fù)責(zé)用戶(hù)信息的認(rèn)證。當(dāng)然,您可能有多個(gè)子系統(tǒng),所有子系統(tǒng)都具有注冊(cè)功能,并且都是獨(dú)立的頁(yè)面。此時(shí),您可以在cas服務(wù)器上提供reg
cas server是怎么認(rèn)證用戶(hù)的?
作為統(tǒng)一的用戶(hù)認(rèn)證中心,CAS只負(fù)責(zé)用戶(hù)信息的認(rèn)證。當(dāng)然,您可能有多個(gè)子系統(tǒng),所有子系統(tǒng)都具有注冊(cè)功能,并且都是獨(dú)立的頁(yè)面。此時(shí),您可以在cas服務(wù)器上提供register接口,例如以restful方式發(fā)布API,然后通過(guò)http clietn在子系統(tǒng)中調(diào)用。那么為什么不把注冊(cè)直接放到cas服務(wù)器上,然后子系統(tǒng)直接跳轉(zhuǎn)到cas服務(wù)器上的注冊(cè)頁(yè)面呢?這樣做的一個(gè)缺點(diǎn)是不能確保每個(gè)子系統(tǒng)的注冊(cè)信息是相同的。因此,cas server中的表應(yīng)該只保存一些通用的用戶(hù)字段,如登錄名和密碼,其他與業(yè)務(wù)系統(tǒng)相關(guān)的字段應(yīng)該放在其相應(yīng)的子系統(tǒng)中。
為什么有很多出名開(kāi)源的C/C 方面的高性能網(wǎng)絡(luò)庫(kù),比如libevent,boost-asio,有些企業(yè)還要自己寫(xiě)?
是構(gòu)建輪子還是直接使用開(kāi)源庫(kù),我認(rèn)為,很大程度上取決于部門(mén)負(fù)責(zé)人的個(gè)人喜好。曾幾何時(shí),c開(kāi)發(fā)人員熱衷于重新構(gòu)建輪子,那么為什么有些企業(yè)要自己編寫(xiě)呢?我在項(xiàng)目開(kāi)始時(shí)不知道這個(gè)庫(kù)的存在,我不想以后再介紹它。
2)許多第三方庫(kù)依賴(lài)于許多其他第三方庫(kù)。要引進(jìn)a館,就得引進(jìn)B館、C館、D館,這無(wú)疑增加了院系成員的學(xué)習(xí)成本。
3)第三方開(kāi)源庫(kù)通常會(huì)頻繁更新。如果你知道有一個(gè)bug,你想更新它嗎?基礎(chǔ)庫(kù)的更新無(wú)疑會(huì)花費(fèi)更多的開(kāi)發(fā)時(shí)間和測(cè)試時(shí)間。
4)使項(xiàng)目整體可控。一旦引入的開(kāi)放源代碼庫(kù)出現(xiàn)問(wèn)題并且項(xiàng)目團(tuán)隊(duì)不熟悉它,這將是災(zāi)難性的。
5)現(xiàn)有開(kāi)源庫(kù)過(guò)于復(fù)雜,學(xué)習(xí)成本高,團(tuán)隊(duì)成員水平參差不齊。
最后,附上一本我前段時(shí)間讀過(guò)的書(shū)。
本文是作者《一個(gè)程序員的奮斗史》悟空問(wèn)答原創(chuàng)文章,未經(jīng)允許轉(zhuǎn)載,抄襲將被追究!