這裏是東西: 我想有這樣的角色的用戶:配置Apache四郎權限
表用戶: ID |用戶名| ROLE_ID
表的角色: ID |名稱| add_users | add_customers | configure_mail | ... | ... | ...
權限是二進制類型,當用戶可以執行操作時它具有1或者它有0否則。
在我shiro.ini我有疑問:
jdbcRealm=org.apache.shiro.realm.jdbc.JdbcRealm
jdbcRealm.authenticationQuery = SELECT password from users where username = ?
jdbcRealm.userRolesQuery = select name from roles where id = (select role_id FROM users WHERE username = ?)
有沒有辦法做到這一點? 我已經搜索了幾天了。我將衷心感謝您的幫助。 在此先感謝你們。
你好開發。我做了以下: **表用戶:id | username | role_id ** **表角色:id |名稱** **表權限:id |名稱| role_id ** 而apache shiro.ini : ** jdbcRealm.authenticationQuery =從用戶名中選擇密碼username =? jdbcRealm.userRolesQuery =選擇從角色名其中id =(選擇ROLE_ID從用戶其中username =?) jdbcRealm.permissionsQuery =選擇的名字從權限WHERE UPPER(ROLE_ID)= UPPER(?)** 它不'噸工作,當我這樣做:** System.out.println(currentUser.isPermitted(「customer:add」)); ** 它顯示錯誤,你知道爲什麼會發生這種情況? –
它應該工作檢查,如果你在shiro.ini中有這個jdbcRealm.permissionsLookupEnabled = true – dev
現在完全正常工作!!!!!,非常感謝你...我真的很感激你做了什麼:D –