日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

項目開發(fā)中關(guān)于權(quán)限的實現(xiàn)方案簡單描述(幫助以

系統(tǒng) 1893 0

最近一直在研究權(quán)限,今天終于把權(quán)限搞定了以后準(zhǔn)備自己寫個商城,對以后的幫助非常大的。下面簡單談?wù)勱P(guān)于權(quán)限的實現(xiàn).

  權(quán)限主要分為以下三個類:

    用戶、角色、權(quán)限表

  權(quán)限主要分為三個步驟:

    1、安裝(初始化數(shù)據(jù))

      管理員:(超級管理員)一個擁有所有權(quán)限的用戶,這個用戶在程序安裝時就要初始化,

      權(quán)限數(shù)據(jù):這個表主要存儲權(quán)限的名字和url,這個權(quán)限主要有兩個作用,一個是菜單的顯示,其中一級菜單沒有url只是分類的作用。

    2、權(quán)限的分配:

      權(quán)限的分配主要是針對某個角色和權(quán)限建立管理,權(quán)限表和角色表是多對多的關(guān)系

    3、權(quán)限的使用:

      權(quán)限的使用,我們要做到,具有哪些權(quán)限就能讓用戶看到哪些權(quán)限,而且看不到的權(quán)限即使通過url訪問也沒有訪問的權(quán)限

  具體實現(xiàn)如下:

    1、左側(cè)菜單的顯示:

      左側(cè)菜單一般我們是首先用一個監(jiān)聽器,在程序啟動時,將所有的頂級權(quán)限查出來放到application最大的作用域中,然后在用戶登錄時,從application作用域中去拿    權(quán)限數(shù)據(jù),在菜單遍歷的過程中在user類中寫個判斷是否具有權(quán)限的方法,然后用標(biāo)簽去判斷,如果有就顯示如果沒有就不去顯示,這樣就可以實現(xiàn)菜單的顯示了

      好處:我們也可以每次用戶登錄時去數(shù)據(jù)庫中查詢,這樣會浪費(fèi)很多的資源,因為權(quán)限的數(shù)據(jù)是我們在一開始時就初始化好的,一般菜單是不會變得,所有放到作用域    中,不僅僅效率高而且也降低資源的浪費(fèi),如果我們需要新增加新的菜單只需要重啟下程序就好了

    2、右側(cè)連接的顯示:

      比如說是否具有部門刪除的權(quán)限,我們可以在user里面寫個根據(jù)url判斷權(quán)限的方法,同上面的實現(xiàn)一樣,首先從session中取出所有的角色,然后遍歷所有的角色,內(nèi)    部遍歷所有角色的權(quán)限,然后和正在遍歷的權(quán)限對比,如果有就顯示,沒有就不顯示。

      如果我們使用的struts標(biāo)簽,我們可以重新定義下<s:a></s:a>標(biāo)簽的實現(xiàn),首先判斷是否具有權(quán)限,這樣我們可以在頁面層什么都不用更改即可實現(xiàn)權(quán)限效果。

    3、action的攔截

      前兩步我們只是實現(xiàn)的表現(xiàn)層的目的,做到了用戶具有什么權(quán)限就顯示什么數(shù)據(jù),但是如果用戶通過url直接訪問的話還是可以對數(shù)據(jù)進(jìn)行操作的,那么如果實現(xiàn)對每次    請求的攔截呢?還是通過interceptor攔截器。

      我們首先寫個檢查權(quán)限的攔截器,繼承abstractInterceptor,然后在struts.xml中配置下就好了。

        權(quán)限主要分為一般權(quán)限,登錄權(quán)限,和登錄后具有的不用管理的權(quán)限,

        一般權(quán)限:比如部門的增刪改查

        登錄權(quán)限:比如登錄

        不用管理的權(quán)限:如果注銷

項目開發(fā)中關(guān)于權(quán)限的實現(xiàn)方案簡單描述(幫助以后回憶)


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯(lián)系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機(jī)微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦?。?!

發(fā)表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 安宁市| 武鸣县| 平江县| 丰顺县| 洛隆县| 牟定县| 广水市| 尉氏县| 义乌市| 壶关县| 綦江县| 灌阳县| 肇州县| 堆龙德庆县| 新民市| 甘洛县| 红河县| 青浦区| 惠东县| 同仁县| 汾西县| 平阴县| 德昌县| 石阡县| 芒康县| 沅陵县| 古丈县| 通化市| 樟树市| 漳州市| 清远市| 舒城县| 桐庐县| 克山县| 泰兴市| 西贡区| 昌平区| 新邵县| 逊克县| 拉萨市| 翁牛特旗|