package org.zttc.itat.auth.dao; import java.security.acl.Acl; import java.util.List; import java.util.Map; /** * * @author hfw2192 * */ public interface IAclDao { /** * 根据主体id,主体类型,资源id,资源类型,获取ACL对象 * @param pid * @param ptype * @param rid * @param rtype * @return */ public Acl loadAcl(int pid, String ptype,int rid,String rtype); /** * 根据角色id,资源类型和资源id获取ACL对象 * @param roleId * @param rid * @param rtype * @return */ public Acl loadAclByRole(int roleId,int rid,String rtype); /** * 根绝用户id,资源类型和资源id获取ACL对象 * @param userId * @param rid * @param rtype * @return */ public Acl loadAclByUser(int userId,int rid,String rtype); /** * 根绝角色id,资源类型,资源id获取该角色可以访问的所有的操作id * @param rid * @param rtype * @return */ public List<Integer> listRoleOperIdsByRes(Integer rid,String rtype,Integer roleId); /** * 根绝用户id,资源类型,资源id获取该角色可以访问的所有的操作id * 1.获取该用户的所有角色,再通过角色获取可以操作的操作id * 2.获取该用户自己可以访问的操作id * @param rid * @param rtype * @param userId * @return */ public List<Integer> listUserOperIdsByRes(Integer rid,String rtype,Integer userId); /** * 获取用户自己所授权的所有操作id * @param rid * @param rtype * @param userId * @return */ public List<Integer> listUserSelfOperIdsByRes(Integer rid,String rtype,Integer userId); /** * 获取某个角色可以访问的所有资源操作对象 * 返回值为Map,key:资源的类名,value:所有可以访问的操作 * @param roleId * @return */ public Map<String,List<String>> listAllResAndOperByRole(Integer roleId); /** * 获取某个用户可以访问的所有资源操作对象 * 1.获取用户所有角色对象的资源操作 * 2.获取自己的资源操作 * 返回值为Map,key:资源的类名,value:所有可以访问的操作 * @param userId * @return */ public Map<String,List<String>> listAllResAndOperByUser(Integer userId); /** * 根据角色的id获取该角色可以访问的所有的菜单的sn * @param roleId * @return */ public List<String> listMenuSnByRole(Integer roleId); /** * 根据用户的id获取该用户可以访问的所有的菜单的sn * 1.先获取该用户角色的数据 * 2.获取用户自己所授权的数据 * @param userId * @return */ public List<String> listMenuSnByUser(Integer userId); /** * 根据角色的id获取岁所对应的所有菜单的id * @param roleId * @return */ public List<String> listMenuIdByRole(Integer roleId); /** * 根据用户的id,获取该用户所对应的所有菜单的id * 1.获取角色的数据 * 2.获取用户自己独立的数据 * @param userId * @return */ public List<String> listMenuIdByUser(Integer userId); /** * 根据用户的id,获取该用户自己的的菜单的id,不获取角色所对应的菜单id * @param userId * @return */ public List<String> listMenuIdByUserSelf(Integer userId); }
package org.zttc.itat.auth.dao; import java.util.List; import org.zttc.itat.auth.model.ControllerOper; import org.zttc.itat.auth.model.ControllerResource; /** * * @author hfw2192 * */ public interface IControllerDao { public void add(ControllerResource cr,String psd); public void addOper(ControllerOper oper,String rsn); public void addOper(ControllerOper oper,Integer rid); public void updateOper(ControllerOper oper); public void deleteOper(Integer operId); public List<ControllerResource> listResByParent(Integer id); /** * 根据资源id列表资源的操作对象 * @param rid * @return */ public List<ControllerOper> listOperByRes(Integer rid); public ControllerOper loadOperById(int operId); public ControllerOper loadOperBySn(String rsn,String sn); }
package org.zttc.itat.auth.dao; import java.util.List; import org.zttc.itat.auth.dto.LeftMenuDto; import org.zttc.itat.auth.model.MenuPos; import org.zttc.itat.auth.model.MenuResource; /** * 菜单资源对象的接口 * @author hfw2192 * */ public interface IMenuResDao { public void add(MenuResource mr,String psn); /** * 根据菜单的位置和父类Menu的sn获取模块所有的菜单资源对象 * @param psn * @param pos * @return */ public List<MenuResource> listModelMenuByType(String psn,MenuPos pos); /** * 获取顶部的菜单资源对象 * @return */ public List<MenuResource> listTopMenu(); /** * 获取左边导航的菜单资源对象 * @return */ public List<LeftMenuDto> listLeftMenu(); public List<TreeDto> tree(); public List<MenuResource> listByParent(Integer pid); }
package org.zttc.itat.auth.dao; import java.util.List; import org.zttc.itat.auth.model.Role; public interface IRoleDao { public List<Role> listRole(); public void deleteRoleUsers(int rid); }
package org.zttc.itat.auth.dao; import java.util.List; import org.zttc.itat.auth.model.Role; import org.zttc.itat.auth.model.User; public interface IUserDao { /** * 获取用户所有角色信息 * @param userId * @return */ public List<Role> listUserRoles(int userId); /** * 获取用户所有角色id * @param userId * @return */ public List<Integer> listUserRoleIds(int userId); /** * 获取用户所有组的id * @param userId * @return */ public List<Integer> listUserGroupIds(int userId); /** * 根据用户和角色获取用户角色的关联对象 */ /** * * @param roleId * @return */ public List<User> listRoleUsers(int roleId); /** * 根据角色类型获取用户对象 * @param roleType * @return */ //public List<User> listRoleUsers(RoleType roleType); /** * 获取某个组中的用户对象 * @param gid * @return */ public List<User> listGroupUsers(int gid); /** * 添加用户角色对象 * @param user * @param role */ public void addUserRole(User user,Role role); /** * 删除用户的角色信息 * @param uid */ public void deleteUserRoles(int uid); /** * 删除用户的组信息 * @param gid */ public void deleteUserGroups(int gid); }
package org.zttc.itat.auth.dao.impl; import java.util.List; import org.zttc.itat.auth.dao.IMenuResDao; import org.zttc.itat.auth.dao.TreeDto; import org.zttc.itat.auth.dto.LeftMenuDto; import org.zttc.itat.auth.model.MenuPos; import org.zttc.itat.auth.model.MenuResource; public class MenuResDao implements IMenuResDao { @Override public void add(MenuResource mr, String psn) { MenuResource parent = this.loadBySn(psn,"MenuResource"); if(parent == null) throw new Exception("菜单的父类不存在"); mr.setParent(parent); mr.setPsn(psn); MenuResource self = this.loadBySn(mr.getSn(),"MenuResource"); if(self == null){ //不存在 if(mr.getOrderNum() == 0){ mr.setOrderNum(super.getMaxOrder(parent.getId(),"MenuResources")+10); }else{ //存在就进行修改 self.setDisplay(mr.getDisplay()); self.setHref(mr.getHref()); self.setIcon(mr.getIcon()); self.setMenuPos(mr.getMenuPos()); self.setName(mr.getName()); if(mr.getOrderNum()>0){ self.setOrderNum(mr.getOrderNum()); } self.setSn(mr.getSn()); } super.getSession().saveOrUpdate(mr); } } @Override public List<MenuResource> listModelMenuByType(String psn, MenuPos pos) { // TODO Auto-generated method stub return null; } @Override public List<MenuResource> listTopMenu() { // TODO Auto-generated method stub return null; } @Override public List<LeftMenuDto> listLeftMenu() { // TODO Auto-generated method stub return null; } @Override public List<MenuResource> listByParent(Integer pid) { // TODO Auto-generated method stub return null; } @Override public List<TreeDto> tree() { // TODO Auto-generated method stub return null; } }