權限設計——控制顯示字段——設計思考


根據用戶角色,控制用戶可見列表字段和導出列,整個系統都需要,方案該咋設計啊?

 

用戶表掛角色表,角色表掛菜單表,菜單表掛字段表

---用戶表--------------------------

user_id   | user_name

1            | user1

2            |  user2

---菜單表----------------------------

menu_id  | menu_name |menu_type

1             | 訂單列表      |  page

2             |  訂單導出     |  btn

3             |  訂單刪除     |  btn

----菜單字段表---------------------------------------------------------------

field_id  | menu_id   |  menu_fields   |menu_field_type  | remark

1           | 1               |  x1,x2,x3,x4       |  listview               |  列表展示

2           |  1              | y1,y2,y3,y4        |  excelexport        |  excel導出

---角色菜單字段表--------------------------------------------------------------------

role_id  | menu_id| role_menu_fields

1          |   1         | x1,x2,x3

2          |   1        |  x2,x3,x4

3          |    1       |  x1,x3,x4

----------------------------------------------------------------

role_id menu_id role_menu_fields
1 1 x1,x2,x3
2 1 x2,x3,x4
3 1 x1,x3,x4

 

 

==================================================================

另一種實現思路是對權限進行擴充

原始是:列表查看;

擴展后:列表查看1,列表查看2,列表查看3,列表查看4

原始是:訂單導出;

擴展后:訂單導出1,訂單導出2,訂單導出3,訂單導出4

根據不同的權限,選擇使用不同的提前寫好的sql字段;

這種方式沒有第一種靈活,但是比第一種要省事,開發難度也要低很多;

====================================================================

系統中的權限可以固定嗎?固定了有哪些不好?

固定:提前設計成:增,刪,改,查,導入,導出,排序,發郵件,發短信,授權,撤銷,審核,發消息,移動,打印,系統設置權限(一般控制系統級按鈕),擴展1,擴展2,擴展3,擴展4,擴展5,擴展6,擴展7,擴展8,擴展9,擴展10;

代碼中使用枚舉,依次判斷用戶是否有具體的權限;如果有導出,則顯示導出按鈕權限?

不好的地方是,擴展權限的名字和具體的業務對應會比較麻煩,比如使用擴展1控制了什么權限,大家都不知道。

 

使用不固定的權限,添加權限時,設置權限Code,比如:add del,update,view,improt,export,shortby,sendemail;

但是擴展部分就必須得和菜單添加配置協商對應了。

------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

想了一個方法,仍然使用第一種方式,將權限提前固定好,但是允許用戶修改擴展權限的備注內容,將用戶的修改保存起來,用來記錄當前權限用來干啥了。

比如每添加一個菜單,就加載所有提前定義好的權限,允許用戶修改擴展權限,的備注內容,但是不允許修改menu_code,和菜單名字。

每個菜單都對應生成所有權限,但是只有將權限設置成啟用才會生效。

 

系統中的權限可以固定嗎?固定了有哪些不好? 固定:提前設計成:增,刪,改,查,導入,導出,排序,發郵件,發短信,授權,撤銷,審核,發消息,移動,打印,系統設置權限(一般控制系統級按鈕),擴展1,擴展2,擴展3,擴展4,擴展5,擴展6,擴展7,擴展8,擴展9,擴展10; 代碼中使用枚舉,依次判斷用戶是否有具體的權限;如果有導出,則顯示導出按鈕權限? 不好的地方是,擴展權限的名字和具體的業務對應會比較麻煩,比如使用擴展1控制了什么權限,大家都不知道。   使用不固定的權限,添加權限時,設置權限Code,比如:add del,update,view,improt,export,shortby,sendemail; 但是擴展部分就必須得和菜單添加配置協商對應了。
[Xìtǒng zhōng de quánxiàn kěyǐ gùdìng ma? Gùdìngle yǒu nǎxiē bù hǎo? Gùdìng: Tíqián shèjì chéng: Zēng, shān, gǎi, chá, dǎorù, dǎochū, páixù, fā yóujiàn, fā duǎnxìn, shòuquán, chèxiāo, shěnhé, fā xiāoxī, yídòng, dǎyìn, xìtǒng shèzhì quánxiàn (yībān kòngzhì xìtǒng jí ànniǔ), kuòzhǎn 1, kuòzhǎn 2, kuòzhǎn 3, kuòzhǎn 4, kuòzhǎn 5, kuòzhǎn 6, kuòzhǎn 7, kuòzhǎn 8, kuòzhǎn 9, kuòzhǎn 10; dàimǎ zhōng shǐyòng méi jǔ, yīcì pànduàn yònghù shìfǒu yǒu jùtǐ de quánxiàn; rúguǒ yǒu dǎochū, zé xiǎnshì dǎochū ànniǔ quánxiàn? Bù hǎo dì dìfāng shì, kuòzhǎn quánxiàn de míngzì hé jùtǐ de yèwù duìyìng huì bǐjiào máfan, bǐrú shǐyòng kuòzhǎn 1 kòngzhìle shénme quánxiàn, dàjiā dōu bù zhīdào. Shǐyòng bù gùdìng de quánxiàn, tiānjiā quánxiàn shí, shèzhì quánxiàn Code, bǐrú:Add del,update,view,improt,export,shortby,sendemail; dànshì kuòzhǎn bùfèn jiù bìxū dé huo càidān tiānjiā pèizhì xiéshāng duìyìngle.]
Permission system can be fixed it? What fixed the bad?

Fixed: advance designed to: add, delete, change, search, import, export, sorting mail, send text messages, authorization, revocation, audit, messaging, mobile, print, set permissions system (general control system level button), an extension, the extension 2, extension 3, 4 extension, extension 5, 6 extended, extension 7, 8 extend, extended 9, extension 10;

Use the code to enumerate, in order to determine whether the user has specific rights; if there are export rights to export button is displayed?

A bad place to be, extended right name and specific business correspondence would be more trouble, such as the use of extended control what authority, I do not know.

 

Use authority is not fixed, when adding permissions set permissions Code, for example: add del, update, view, improt, export, shortby, sendemail;

But the extension would have to add menus and configuration negotiation correspond.


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM