Java项目:智能制造生产管理平台(java+SSM+mysql+Maven+Easyui+JSP)

运行环境:jdk1.8、tomcat7.0/8.5、Mysql5.7/5.1、Maven3.6/3.5、 eclipse/STS

功能简介:计划进度、设备管理、工艺监控、物料监控、质量监控、人员监控等

 

用户信息服务:

public class UserRealm extends AuthorizingRealm {
    @Autowired
    private AccountDao accountDao;

    /**
     * 授权
     * @param principalCollection
     * @return
     */
    @Override
    protected AuthorizationInfo doGetAuthorizationInfo(PrincipalCollection principalCollection) {
        //利用登录用户的信息查询当前用户的角色
        Set<String> roles = new HashSet<>();
        String principal =  (String) principalCollection.getPrimaryPrincipal();
        String role  =  accountDao.getAccountDTOById(principal).getRoleName();
        roles.add(role);
        //创建SimpleAuthioriticationInfo 并设置reles属性
        SimpleAuthorizationInfo info = new SimpleAuthorizationInfo(roles);
        return info;
    }
    /**
     * 登录
     * @param authenticationToken
     * @return
     * @throws AuthenticationException
     */
    @Override
    protected AuthenticationInfo doGetAuthenticationInfo(AuthenticationToken authenticationToken) throws AuthenticationException {
        //获取输入的账号
        String userId = (String) authenticationToken.getPrincipal();
        //获取密码
        //String password = (String) authenticationToken.getCredentials();
        //根据账号查询数据库,如果查不到就认为账号不正确,返回null
        Account user = accountDao.getAccountById(userId);
        //判断账户是否存在
        if(null != user){
            //判断账户状态
            if(user.getUserStatus()==0){ //status为0 代表停用
                throw new LockedAccountException() ;
            }
            //交由shiro判断,是否与用户输入的匹配
            return new SimpleAuthenticationInfo(user.getUserId(),user.getPassword(),getName());
        }
        else
            return null;
    }
}

组织机构控制器:

/**
 * 组织机构控制器
 */

@Controller
@RequestMapping("/organization")
public class OrgController {
    @Autowired
    private OrganizationService organizationService;

    /**
     * 根据条件动态查询组织,数据加载到表格
     */
    @PostMapping("/list")
    public String listOrganizationByLevel(Organization example, ModelMap map){
        List<Organization> list = organizationService.listOrganizationByExample(example);
        int sublevel = example.getOrgLevel();
        map.put("dtoList",list);
        String pageName = null;
        switch (sublevel) {  //根据参数确定返回页面目标
            case  1: pageName= "friDepartments" ;break;
            case  2: pageName= "secDepartments" ;break;
            case  3: pageName= "macAddress" ;break;
        }
        return  pageName+"::table-refresh";
    }

    /**
     * 根据条件动态查询子级组织
     */
    @PostMapping("/sub/list")
    @ResponseBody
    public List listOrganization(Organization example){
        List<Organization> list = organizationService.listOrganizationByExample(example);
        return  list;
    }

    /**
     * 根据一级部门和二级部门id查询物理位置
     */
    @PostMapping("/macAddress/list")
    public String listMacaddress(String fristId,String secondId,ModelMap map){
        List<Organization> list = organizationService.listMacaddressByRootID(fristId,secondId);
        map.put("dtoList",list);
        return  "macAddress::table-refresh";
    }



    /**
     * 添加组织
     * @param organization
     * @return
     */
    @PostMapping
    @ResponseBody
    public int addOrganization(Organization organization){
        return organizationService.insertOrganization(organization);
    }

    /**
     * 删除组织
     * @param orgId
     * @return
     */
    @DeleteMapping("/{orgId}")
    @ResponseBody
    public int delteOrganizationByid(@PathVariable("orgId") String orgId){
        return organizationService.deleteOrganizationById(orgId);
    }

    /**
     * 修改组织名称
     * @param organization
     * @return
     */
    @PutMapping
    @ResponseBody
    public int updateDeviceType(Organization organization){
        return organizationService.updateOrganizationName(organization);
    }

    /**
     * 获取组织树
     * @return
     */
    @GetMapping("/tree")
    @ResponseBody
    public OrganizationDTO getOrganizationTree(){
        return organizationService.getOrgTree();
    }

}

登录信息服务:

@Controller
public class LoginController {

    @RequestMapping("/login")
    public String login(HttpServletRequest request, Model mv) {
        String e = (String) request.getAttribute("shiroLoginFailure");
        if (e != null) {
            if (e.contains("org.apache.shiro.authc.UnknownAccountException")) {
                mv.addAttribute("msg", "账号不存在");
            } else if (e.contains("org.apache.shiro.authc.IncorrectCredentialsException")) {
                mv.addAttribute("msg", "密码错误");
            } else if (e.contains("org.apache.shiro.authc.LockedAccountException")) {
                mv.addAttribute("msg", "账户已停用");
            }
        }
        return "login";
    }

}

猜你喜欢

转载自blog.csdn.net/m0_59687645/article/details/121762528