基于SSM+Shiro+Bootstrap实现用户权限管理系统

基于SSM+Shiro+Bootstrap实现用户权限管理系统,第1张

基于SSM+Shiro+Bootstrap实现用户权限管理系统 基于SSM+Shiro+Bootstrap实现用户权限管理系统 引言

本篇博文基于SSM+Shiro实现用户权限管理系统,每位用户只可访问指定的页面,具体需求如下

需求

用户账号的增删改查功能

权限包括: 系统模块 *** 作权限(system),财务模块 *** 作权限(finance),考勤模块 *** 作权限(checkon),

每个用户都可能拥有0或多个权限,在新增和编辑用户的时候,可以多选权限。

系统模块:包括用户账号管理功能。

财务模块:为了开发简化,只要做出静态的页面即可,不要真的有财务模块。

考勤模块:同财务模块。

效果图

功能细节
  • 技术栈: Maven+SSM+Shiro + Bootstarp
  • *** 作者必须登录,且拥有system权限才可以访问system @Override protected AuthorizationInfo doGetAuthorizationInfo(PrincipalCollection principalCollection) { //获取用户名 String username = (String) principalCollection.getPrimaryPrincipal(); //根据用户名获取用户对象 ShiroUser shiroUser = new ShiroUser(); shiroUser.setUsername(username); ShiroUser user = shiroUserMapper.get(shiroUser); //用户非空判断 if (user != null) { //获取用户所对应的权限 UserPermission userPermission = new UserPermission(); userPermission.setUser_id(user.getNoid()); List list = userPermissionMapper.list(userPermission); //List集合转为Set集合放入授权权限实例对象中 Set perms = new HashSet<>(); for (String s : list) { perms.add(s); } SimpleAuthorizationInfo authorizationInfo=new SimpleAuthorizationInfo(); authorizationInfo.addStringPermissions(perms); return authorizationInfo; } return null; } @Override protected AuthenticationInfo doGetAuthenticationInfo(AuthenticationToken authenticationToken) throws AuthenticationException { String username = (String) authenticationToken.getPrincipal(); ShiroUser shiroUser = new ShiroUser(); shiroUser.setUsername(username); ShiroUser user = shiroUserMapper.get(shiroUser); if (user != null) { // 这一步就执行了对密码的验证 AuthenticationInfo authcInfo=new SimpleAuthenticationInfo(user.getUsername(),user.getUserpwd() , getName()); return authcInfo; } else { return null; } } }

    核心配置文件applicationContent.xml

    
        
    
    
    
    
        
        
        
        
        
        
        
        
            
                
                /loginPost=anon
                
                /system/*=user
                
                /finance/*=perms[finance]
                
                /checkon/*=perms[checkon]
                
                /logout.action=logout
            
        
    
    
    
    
    
    
    
    
        
    
    
    Shiro退出登录

    applicationContent.xml

    /logout.action=logout
    

    通用jsp,inc.jsp

    <%--点击该链接,applicationContent.xml中配置的退出登录进行拦截, shiro内部实现退出登录并清空缓存 --%>
    退出登录
    
    启动项目命令

    mvn clean tomcat7:run

    IDEA配置如图

    建议采用DeBug方式启动

    结语

    至此,基于Shiro+SSM+Bootstrap实现用户权限管理系统到此结束,通过本次项目练习,巩固了Shiro技术的理解,加强对Shiro技术的熟练使用,代码略微有些多,只要自己有耐心,努力,坚持的把本项目做完,相信你的技术一定会有一个质的飞跃,好啦,本周技术分享到此结束

    都看到这里啦,确定不点赞嘛

    若在本项目中遇到技术难题,可在下方评论区留言或私信我,授人以鱼不如授人以渔

    百度网盘地址:链接: https://pan.baidu.com/s/1roBMawtBVkD41KlZmVPrcA 提取码: pmfu

    如果你觉得博主写的不错的话,不妨给个一键三连,点击下方小拳头即可一键三连。

    感谢你的支持!

    欢迎分享,转载请注明来源:内存溢出

    原文地址: http://outofmemory.cn/zaji/5659072.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存