Search in sources :

Example 6 with SysMenu

use of com.hxkj.system.model.SysMenu in project my_curd by qinyou.

the class AuthorityInterceptor method intercept.

public void intercept(Invocation inv) {
    String actionKey = inv.getActionKey();
    List<SysMenu> ownSysMenus = inv.getController().getSessionAttr(Constant.OWN_MENU);
    LOG.debug("permission menu: " + JsonKit.toJson(ownSysMenus));
    for (SysMenu sysMenu : ownSysMenus) {
        // 拥有权限
        if (StrKit.notBlank(sysMenu.getUrl()) && !sysMenu.getUrl().equals("/") && actionKey.startsWith(sysMenu.getUrl())) {
            LOG.debug(actionKey + " 等于 " + sysMenu.getUrl() + ", 拥有权限. ");
            inv.invoke();
            return;
        }
    }
    // 没有权限
    BaseController baseController = (BaseController) inv.getController();
    baseController.addOpLog("访问无权限路径[" + actionKey + "]");
    inv.getController().render("/WEB-INF/views/common/no_permission.html");
}
Also used : SysMenu(com.hxkj.system.model.SysMenu) BaseController(com.hxkj.common.util.BaseController)

Example 7 with SysMenu

use of com.hxkj.system.model.SysMenu in project my_curd by qinyou.

the class LoginController method index.

/**
 * 登录页面
 */
public void index() {
    String username = getCookie(usernameKey);
    String password = getCookie(passwordKey);
    LOG.debug("username from cookie: " + username);
    LOG.debug("password from cookie:+" + password);
    if (username != null && password != null) {
        SysUser sysUser = SysUser.dao.findByUsernameAndPassword(username, password);
        // 用户名密码正确且未被禁用
        if (sysUser != null && !sysUser.getDisabled().equals("1")) {
            setSessionAttr(Constant.SYSTEM_USER, sysUser);
            setSessionAttr(Constant.SYSTEM_USER_NAME, sysUser.getName());
            SysUserRole sysUserRole = SysUserRole.dao.findRolesByUserId(sysUser.getId());
            if (sysUserRole != null) {
                setSessionAttr(Constant.SYSTEM_USER_ROLES, sysUserRole.get("roleNames"));
                setSessionAttr(Constant.SYSTEM_USER_ROLES, sysUserRole.get("roleNames"));
                LoginService loginService = Duang.duang(LoginService.class);
                List<SysMenu> userMenus = loginService.getUserMenu(sysUserRole.get("roleIds"));
                setSessionAttr(Constant.OWN_MENU, userMenus);
            }
            addOpLog("通过 cookie 登录");
            redirect("/main");
            return;
        }
    }
    render("login.html");
}
Also used : SysUser(com.hxkj.system.model.SysUser) SysMenu(com.hxkj.system.model.SysMenu) SysUserRole(com.hxkj.system.model.SysUserRole)

Example 8 with SysMenu

use of com.hxkj.system.model.SysMenu in project my_curd by qinyou.

the class MainController method permissionTree.

/**
 * 用户权限数据
 */
public void permissionTree() {
    List<SysMenu> ownSysMenus = getSessionAttr(Constant.OWN_MENU);
    List<Map<String, Object>> maps = new ArrayList<Map<String, Object>>();
    // 简单的json格式数据,树形结构由前端 js算法处理
    if (ownSysMenus != null) {
        for (SysMenu sysMenu : ownSysMenus) {
            Map<String, Object> map = new HashMap<String, Object>();
            map.put("id", sysMenu.getId());
            map.put("pid", sysMenu.getPid());
            map.put("iconCls", sysMenu.getIcon());
            map.put("url", sysMenu.getUrl());
            map.put("text", sysMenu.getName());
            maps.add(map);
        }
    }
    renderJson(maps);
}
Also used : SysMenu(com.hxkj.system.model.SysMenu) HashMap(java.util.HashMap) ArrayList(java.util.ArrayList) Map(java.util.Map) HashMap(java.util.HashMap)

Example 9 with SysMenu

use of com.hxkj.system.model.SysMenu in project my_curd by qinyou.

the class SysMenuController method newModel.

/**
 * 新增 或者 编辑  form
 */
public void newModel() {
    Integer id = getParaToInt("id");
    if (id != null) {
        SysMenu sysMenu = SysMenu.dao.findById(id);
        setAttr("sysMenu", sysMenu);
    }
    render("system/sysMenu_form.html");
}
Also used : SysMenu(com.hxkj.system.model.SysMenu)

Example 10 with SysMenu

use of com.hxkj.system.model.SysMenu in project my_curd by qinyou.

the class SysMenuController method allMenu.

/**
 * 全部菜单
 */
public void allMenu() {
    List<SysMenu> sysMenus = SysMenu.dao.findAll();
    List<Map<String, Object>> maps = new ArrayList<Map<String, Object>>();
    for (SysMenu sysMenu : sysMenus) {
        Map<String, Object> map = new HashMap<String, Object>();
        map.put("id", sysMenu.getId());
        map.put("pid", sysMenu.getPid());
        map.put("text", sysMenu.getName());
        map.put("iconCls", sysMenu.getIcon());
        map.put("open", true);
        maps.add(map);
    }
    renderJson(maps);
}
Also used : SysMenu(com.hxkj.system.model.SysMenu) HashMap(java.util.HashMap) ArrayList(java.util.ArrayList) HashMap(java.util.HashMap) Map(java.util.Map)

Aggregations

SysMenu (com.hxkj.system.model.SysMenu)11 SysUser (com.hxkj.system.model.SysUser)2 SysUserRole (com.hxkj.system.model.SysUserRole)2 ArrayList (java.util.ArrayList)2 HashMap (java.util.HashMap)2 Map (java.util.Map)2 BaseController (com.hxkj.common.util.BaseController)1 SysRoleMenu (com.hxkj.system.model.SysRoleMenu)1 Before (com.jfinal.aop.Before)1