Re: [SQL ] 關於開資料表

看板Database作者 (傳說中的果汁學長)時間12年前 (2012/10/07 23:29), 編輯推噓1(100)
留言1則, 1人參與, 最新討論串3/3 (看更多)
我不想把資料表寫得太複雜, 最後累死自己要想辦法判斷某某角色是否有某某權限 我就單純做2個table : LimitCode / UserLimit LimitCode: 存放所有權限的名稱及值, 以群做區別 ex: nPK / sGroup / sCode / sName 1 / Product / Read / 檢視產品資料 2 / Product / Create / 新增產品資料 3 / Product / Update / 修改產品資料 4 / Product / Delete / 刪除產品資料 UserLimit: 存放所有角色擁有的權限 ex: sUserID / nLimitPK / sEnabled jimshih / 1 / Y hsinyu / 1 / Y hsinyu / 2 / Y hsinyu / 3 / Y hsinyu / 4 / N ==> 原本為Y, 後來經安全考量把刪除產品的權限拿掉 撈取使用者有哪些權限: Select LC.* from LimitCode LC, UserLimit UL where UL.nLimitPK = LC.nPK and UL.sEnabled = 'Y' and LC.sGroup = '(看你要撈哪支程式的權限)' and UL.sUserID = '(使用者登入帳號)' 好處是要做權限設定時很方便設, 以後要擴充新程式的權限時, 只要在LimitCode裡加 也不會影響到原本的設定 這是我的方法囉~ 給你參考一下 :) ※ 引述《hsinyu716 (hsinyu)》之銘言: : 各位大大 : 目前遇到一個不知道資料表怎開比較好, : 一個角色n個crud權限, : 可否利用二進制1111(各代表crud)和十進制15(存資料庫 15,10,12,,,,,) : 來互轉呢?或是直接存入1111,1010,1100....不想多開n個欄位 : 因為前台要可控制crud,想說checkbox就是0和1 : 這樣不知道好不好@@ : 或是有什麼好的方法可提供? : 感謝! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 219.70.145.218

10/09 21:08, , 1F
j大推薦的好像比我想到的還要好…我來試試!感謝!
10/09 21:08, 1F
文章代碼(AID): #1GSP_UDj (Database)
文章代碼(AID): #1GSP_UDj (Database)