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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Web开发中的用户角色权限设计总结

發(fā)布時(shí)間:2024/4/13 编程问答 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Web开发中的用户角色权限设计总结 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

在Web開發(fā)中關(guān)于權(quán)限管理設(shè)計(jì)大抵涉及到兩個(gè)方面:一:功能方面權(quán)限設(shè)計(jì);二:資源方面權(quán)限設(shè)計(jì)。二者比較來看,功能方面權(quán)限的可重用性更高。

1.關(guān)于權(quán)限:

  • 按照角色權(quán)限的最簡單的設(shè)計(jì)

    名稱描述
    用戶不具備管理功能
    管理員具備管理普通用戶的權(quán)限
    超級(jí)管理員具備管理管理員的權(quán)限


    上面的設(shè)計(jì)直接將參與系統(tǒng)的用戶分為三類角色:用戶,管理員,超級(jí)管理員。

  • 按照角色權(quán)限,粒度劃分再小些設(shè)計(jì)

    名稱權(quán)限描述
    普通用戶普通服務(wù)享有系統(tǒng)有限服務(wù)
    VIP用戶高級(jí)服務(wù)享有VIP服務(wù)



    上面是用戶的簡單劃分示例,通過將用戶進(jìn)行權(quán)限劃分,來提供不同的服務(wù)。

    名稱權(quán)限描述
    產(chǎn)品管理員管理產(chǎn)品模塊具備產(chǎn)品模塊的管理操作權(quán)限
    客戶管理員管理客戶模塊具備客戶模塊的管理操作權(quán)限



    上面是管理員的簡單劃分示例,通過將后臺(tái)管理員進(jìn)行權(quán)限劃分,使的每一個(gè)管理員角色具備不同的操作權(quán)限,并且不同角色的管理員在管理角色上不存在交叉管理,這樣系統(tǒng)的管理部分才有可能保存清晰,完整,有效。

    名稱權(quán)限描述
    超級(jí)管理員管理各類管理員具備最高的管理權(quán)限
    系統(tǒng)管理員管理整個(gè)系統(tǒng),包括管理超級(jí)管理員系統(tǒng)管理員具備操作整個(gè)系統(tǒng)的最高權(quán)限



    上面是系統(tǒng)級(jí)別的管理簡單劃分示例,一個(gè)系統(tǒng)建設(shè)完成后應(yīng)該具備自管理的功能,即:系統(tǒng)環(huán)境配置,模塊管理,使用系統(tǒng)的干系人管理等都可以通過自身的管理模塊完成,而不是人為的修改數(shù)據(jù)或者系統(tǒng)程序。

  • 按照模塊對(duì)角色具備的操作權(quán)限進(jìn)行劃分,粒度將更細(xì)。對(duì)于模塊層的權(quán)限劃分使得系統(tǒng)權(quán)限管理嚴(yán)格,個(gè)角色的智能更加精確,當(dāng)然系統(tǒng)的設(shè)計(jì),實(shí)現(xiàn)也相對(duì)復(fù)雜。

    2.用戶-角色-權(quán)限的一個(gè)物理模型

    設(shè)計(jì)示例圖如下所示:

說明:

a.用戶-用戶角色-角色:可以構(gòu)成一個(gè)用戶角色權(quán)限管理子模塊,即1中最簡單的設(shè)計(jì)。

b.模塊-模塊權(quán)限-權(quán)限:可以構(gòu)成一個(gè)模塊權(quán)限管理子模塊。注:這里的描述有些欠缺,單獨(dú)的看待模塊部分,應(yīng)該描述為模塊-模塊功能-功能更為恰當(dāng)。

c.將a和b同過角色權(quán)限組合在一起就可以構(gòu)成一個(gè)用戶-角色-權(quán)限的按照功能模塊粒度劃分的權(quán)限管理系統(tǒng)。

3.用戶-角色-權(quán)限數(shù)據(jù)庫中表之間的關(guān)聯(lián)關(guān)系說明:

上述數(shù)據(jù)庫表的關(guān)系圖中的每一張表不涉及具體的字段內(nèi)容,所具備的字段都是為了描述各個(gè)表之間的關(guān)聯(lián)關(guān)系。

實(shí)體表:用戶表,角色表,權(quán)限表,模塊表;

中間表:用戶角色,角色權(quán)限,模塊權(quán)限表,用來解決多對(duì)多問題;

角色權(quán)限表:涉及角色具備的權(quán)限,該權(quán)限是來自模塊權(quán)限,也就是符合2中的模塊權(quán)限。

關(guān)于角色權(quán)限表是用戶-角色-權(quán)限系統(tǒng)的一個(gè)可擴(kuò)展口。例如:角色權(quán)限可以和權(quán)限直接關(guān)聯(lián),或者二者之間添加特定場景的其他表。

4.數(shù)據(jù)庫用例數(shù)據(jù),使用用戶-角色-權(quán)限系統(tǒng)

  • 用戶

    三個(gè)用戶(標(biāo)識(shí)列[主鍵],用戶編碼,用戶名稱)

  • 角色

    四種角色(標(biāo)識(shí)列[主鍵],角色編碼,角色名稱)

  • 用戶角色

    用戶角色標(biāo)識(shí)列,用戶編碼,角色編碼即構(gòu)成用戶角色中間表。注:實(shí)際中一個(gè)用戶足矣具備多種角色。

  • 模塊

    [模塊標(biāo)識(shí)列,模塊編碼,模塊名稱,父模塊編碼,模塊URL]

    說明:

    父模塊編碼:用于模塊劃分粒度層次標(biāo)識(shí)

    模塊URL:用于模塊在WBE應(yīng)用中的訪問標(biāo)識(shí),當(dāng)然也可以作為他用。

  • 權(quán)限

    權(quán)限標(biāo)識(shí),權(quán)限編碼,權(quán)限名稱。

  • 模塊權(quán)限

    模塊權(quán)限標(biāo)識(shí)列,模塊編碼,權(quán)限編碼。模塊權(quán)限表在模塊粒度和權(quán)限粒度上對(duì)模塊進(jìn)行的相應(yīng)的權(quán)限設(shè)置,可以簡單表述為:具備在某一模塊上的某種權(quán)限操作。因此將角色和模塊權(quán)限進(jìn)行關(guān)聯(lián)將成為角色具備這一粒度層次上的操作權(quán)限。

  • 角色權(quán)限

    角色權(quán)限標(biāo)識(shí)列,角色編碼,模塊權(quán)限編碼


至此,用戶,角色,權(quán)限的劃分就形成了,而且可以通過實(shí)際中需要的用戶,角色,權(quán)限的管理程度,進(jìn)行簡化或者增加表。


5.查詢用戶編碼為400900500的權(quán)限


SELECTt_account.ACCCODE, t_account.ACCNAME,t_role.ROLECODE, t_role.ROLENAME,t_module_privilege.MODUELCODE,t_module.MODUELCODE, t_module.MODUELNAME,t_privilege.PRICODE, t_privilege.PRINAME FROMt_account, t_account_role, t_role, t_role_privilege, t_module_privilege, t_module, t_privilege WHEREt_account_role.ACCCODE=t_account.ACCCODE AND t_account_role.ROLECODE=t_role.ROLECODE ANDt_account.ACCCODE="400900500" ANDt_role_privilege.ROLECODE=t_role.ROLECODE AND t_role_privilege.MPID=t_module_privilege.MPID ANDt_module_privilege.MODUELCODE=t_module.MODUELCODE AND t_module_privilege.PRICODE=t_privilege.PRICODE

通過面的SQL語句可以查詢到400900500用戶的權(quán)限。



上述查詢僅僅說明各表之間的數(shù)據(jù)關(guān)聯(lián)關(guān)系,在實(shí)現(xiàn)開發(fā)中這樣的查詢避免使用。


用戶,角色,權(quán)限的一個(gè)很好的參考示例就是Oracle數(shù)據(jù)庫的用戶管理機(jī)制。Web開發(fā)中更多的是涉及到管理用戶,管理員,系統(tǒng)管理,模塊訪問權(quán)限,資源訪問等問題的處理。


關(guān)于用戶角色權(quán)限管理有程序的開發(fā)系統(tǒng),參見如:http://www.oschina.net/p/limiton。


轉(zhuǎn)載于:https://blog.51cto.com/aiilive/1297317

總結(jié)

以上是生活随笔為你收集整理的Web开发中的用户角色权限设计总结的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

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