当前位置: 首页 > news >正文

品牌高端网站建设wordpress页面标签

品牌高端网站建设,wordpress页面标签,云南网站建设公司,wordpress 当前主题路径基于SSM框架的RBAC权限系统设计与 实现 ✌全网粉丝20W,csdn特邀作者、博客专家、CSDN新星计划导师、java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ #x1f345;文末获取项目下载方式#x1f345; 一、项目背景…基于SSM框架的RBAC权限系统设计与 实现 ✌全网粉丝20W,csdn特邀作者、博客专家、CSDN新星计划导师、java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 文末获取项目下载方式 一、项目背景介绍 全球信息化加速了信息社会的快速发展改变了我们的生产方式和生活方式同时促进了知识经济的快速增长加快了信息化进程也作为衡量世界各国发展水平、发展潜力和提高生产力水平、增强综合国力的重要标志。 权限管理系统是公司和组织办公系统的一部分包括角色增删、权限控制、部门管理以及员工管理等等功能模块。由于它直接与管理整个公司或者组织员工信息、部门管理等重要信息包含在其中所以在其构建过程中系统安全性是最为关键的问题之一。 二、项目技术简介 JAVAJava是一门面向对象编程语言不仅吸收了C语言的各种优点还摒弃了C里难以理解的多继承、指针等概念因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表极好地实现了面向对象理论允许程序员以优雅的思维方式进行复杂的编程。SpringSpring框架是一个开放源代码的J2EE应用程序框架由Rod Johnson发起是针对bean的生命周期进行管理的轻量级容器lightweight container。 Spring解决了开发者在J2EE开发中遇到的许多常见的问题提供了功能强大IOC、AOP及Web MVC等功能。Spring可以单独应用于构筑应用程序也可以和Struts、Webwork、Tapestry等众多Web框架组合使用并且可以与 Swing等桌面应用程序AP组合。因此 Spring不仅仅能应用于J2EE应用程序之中也可以应用于桌面应用程序以及小应用程序之中。Spring框架主要由七部分组成分别是 Spring Core、 Spring AOP、 Spring ORM、 Spring DAO、Spring Context、 Spring Web和 Spring Web MVC。MybatisMyBatis本是apache的一个开源项目iBatis2010年这个项目由apache software foundation迁移到了google code并且改名为MyBatis。2013年11月迁移到Github。 iBATIS一词来源于“internet”和“abatis”的组合是一个基于Java的持久层框架。iBATIS提供的持久层框架包括SQL Maps和Data Access ObjectsDAOs。JspJSP全称JavaServer Pages是由Sun Microsystems公司主导创建的一种动态网页技术标准。JSP部署于网络服务器上可以响应客户端发送的请求并根据请求内容动态地生成HTML、XML或其他格式文档的Web网页然后返回给请求者。JSP技术以Java语言作为脚本语言为用户的HTTP请求提供服务并能与服务器上的其它Java程序共同处理复杂的业务需求。 JSP将Java代码和特定变动内容嵌入到静态的页面中实现以静态页面为模板动态生成其中的部分内容。JSP引入了被称为“JSP动作”的XML标签用来调用内建功能。另外可以创建JSP标签库然后像使用标准HTML或XML标签一样使用它们。标签库能增强功能和服务器性能而且不受跨平台问题的限制。JSP文件在运行时会被其编译器转换成更原始的Servlet代码。JSP编译器可以把JSP文件编译成用Java代码写的Servlet然后再由Java编译器来编译成能快速执行的二进制机器码也可以直接编译成二进制码。Spring-MvcSpring MVC属于SpringFrameWork的后续产品已经融合在Spring Web Flow里面。Spring 框架提供了构建 Web 应用程序的全功能 MVC 模块。使用 Spring 可插入的 MVC 架构从而在使用Spring进行WEB开发时可以选择使用Spring的Spring MVC框架或集成其他MVC开发框。HtmlHTML的全称为超文本标记语言是一种标记语言。它包括一系列标签通过这些标签可以将网络上的文档格式统一使分散的Internet资源连接为一个逻辑整体。HTML文本是由HTML命令组成的描述性文本HTML命令可以说明文字图形、动画、声音、表格、链接等。 超文本是一种组织信息的方式它通过超级链接方法将文本中的文字、图表与其他信息媒体相关联。这些相互关联的信息媒体可能在同一文本中也可能是其他文件或是地理位置相距遥远的某台计算机上的文件。这种组织信息方式将分布在不同位置的信息资源用随机方式进行连接为人们查找检索信息提供方便。 三、系统功能模块介绍 四、数据库设计 1departmentdepartment 字段名类型默认值列注释idbigint(20)NULLnamevarchar(20)NULL部门名称snvarchar(20)NULL部门编号 2employeeemployee 字段名类型默认值列注释idbigint(20)NULL主键namevarchar(20)NULL员工名称(登录账号)passwordvarchar(20)NULL员工密码emailvarchar(255)NULL员工邮箱ageint(11)NULL员工年龄adminbit(1)NULL是否是超级管理员dept_idbigint(20)NULL关联字段:部门ID 3permissionpermission 字段名类型默认值列注释idbigint(20)NULL主键namevarchar(20)NULL权限名称expressionvarchar(100)NULL权限表达式 4rolerole 字段名类型默认值列注释idbigint(20)NULL角色主键namevarchar(255)NULL角色名称snvarchar(255)NULL角色编码五、功能模块 登录功能系统在第一次启动的时候因为数据库里面没有员工的数据所以应该在系统启动的时候检查数据库如果是第一次启动创建一个默认的员工登录默认的管理员账号为admin密码为1。如果输入的账号和密码正确则会转跳到系统的主界面。 部门模块管理功能在部门管理模块实现了对部门的基本信息进行管理的操作如新增一个部门、删除已有的部门、修改现有部门的基础现象、查询以有的部门信息 员工模块管理功能员工管理功能模块可对员工信息进行添加、修改、查询和删除等基础功能。 权限模块管理功能在该模块中进行权限相关数据操作在系统中权限主要是用于控制Controller请求的使用权限表达式映射Controller的方法进行权限控制要注意系统的权限应该是由系统自动通过扫描Controller上的权限标签数据加载出来的而不能通过添加手动添加。 角色模块管理功能在该模块中进行角色相关的维护 在角色添加模块中添加角色名称和角色代码选择属于该角色的权限信息。 点击添加角色的信息 六、代码示例 登录功能 public void login(String username, String password) {//1:通过账号跟密码查询对应员工对象Employee emp employeeMapper.selectEmployeeByUsernameAndPassword(username, password);//2:判断用户是否存在 if(emp null){//3:不存在抛出一个异常throw new RuntimeException(账号或密码错误);} UserContext.setCurrentUser(emp);//4:查询当前登录用户的所有权限ListString list employeeMapper.selectPermissionExpressesByEmployeeId(emp.getId());//5.共享权限表达式集合到session UserContext.setPermissionExps(list);}部门模块管理功能 1查询部门信息 //查询表单页面中需要的部门信息 model.addAttribute(depts, departmentService.list()); //查询表单页面中需要的角色信息 model.addAttribute(roles, roleService.list());return employee/input; 2部门信息的回显 select classform-control iddept namedept.id c:forEach items${depts} vard option value${d.id} ${entity.dept.idd.id?selected:}${d.name} /option /c:forEach /select员工模块管理功能 下面是系统进行权限的判断以及拦截的流程 //:获取当前用户Employee emp UserContext.getCurrentUser();//1:判断是否是超级管理员if(emp.isAdmin()){//是:放行return true;}//2:请求方法是否需要权限检查//当前请求方法的处理器 HandlerMethod hm (HandlerMethod) handler;//获取当前请求的方法Method method hm.getMethod(); RequiredPermissionann method.getDeclaredAnnotation(RequiredPermission.class); if(ann null){//不需要权限检查, 直接放行return true;}//3:判断当前用户是否拥有访问当前请求方法权限//3.1:获取当前请求方法的权限表达式String epr ann.value()[1];//3.2:获取当前用户的所有权限表达式列表//思考: 查询登录用户的权限集合应该应该再何处执行//位置1: 在SecurityInterceptor查询 //不建议:每次请求都进入拦截, 然后执行sql, 性能比较低, 况且, 用户的权限变化是低频率//位置2: 用户登录成功时查询(推荐)//优点:查询一次就可以多次使用ListStringexps UserContext.getPermissionExps();//3.3:比较当前的方法权限表达式是否在用户权限表达式集合中if(exps.contains(epr)){return true; }权限模块管理功能 Overridepublic void reload() {//1:获取数据库中所有权限表达式ListString pers permissionMapper.selectPermissions();//2:从Spring容器中获取所有的贴有Controller注解的beanMapString, Object map ctx.getBeansWithAnnotation(Controller.class);CollectionObject ctrls map.values();for (Object ctrl : ctrls) {System.out.println(ctrl);//3:获取每个Controller bean的所有方法对象MethodMethod[] methods ctrl.getClass().getDeclaredMethods();for (Method m : methods) {//4:获取Controller方法对象上的RequiredPermission注解对象RequiredPermission anno m.getAnnotation(RequiredPermission.class);//5:如果方法上存在权限注解,并且权限注解表达式未存在于数据库中,则将该权限对象插入数据库if (anno ! null !pers.contains(anno.value()[1])) {String name anno.value()[0];String expression anno.value()[1];Permission p new Permission(name, expression);// 将该权限对象插入数据库permissionMapper.insert(p);}}}}角色模块管理功能 Overridepublic void saveOrUpdate(Role role, Long[] ids) {if (role ! null role.getId() ! null) {//更新数据之前,先把role_permission的旧关系删除roleMapper.deleteRelation(role.getId());roleMapper.updateByPrimaryKey(role);} else {roleMapper.insert(role); // int i 1/0;}//维护role表和permission表的关系(role_permission表)if (ids ! null) {for (Long permissionId : ids) {roleMapper.insertRelation(role.getId(), permissionId);}}}Overridepublic PageBeanRole queryPageList(QueryObject qo) {//查询总记录数int count roleMapper.selectCount(qo);if (qo.getCurrentPage() count || qo.getCurrentPage() 0) {qo.setCurrentPage(1);}if (count 0) {return new PageBean(1, 1, 0, Collections.emptyList());}//查询分页数据ListRole pageList roleMapper.selectPageList(qo);return new PageBeanRole(qo.getCurrentPage(), qo.getPageSize(), count, pageList);}七、论文参考 八、项目总结 鉴于信息科技的发展信息管理系统已应用于社会的方方面面尤其是对于拥有大量信息数据的组织和企业作用更为突出。但是随着工作内容的扩大涉及的信息和人员数量增加导致维护安全系统的复杂性增加。另外网络作为最重要的通讯手段存在着太多的不安全因素可能会使他人信息泄漏或被人利用。因此有必要建立一个可靠的权限管理系统以确保信息系统安全。所以便产生了访问控制技术。 本文首先介绍了RBAC模型的工作原理和概念。在此基础上介绍了企业管理系统中的管理模块的体系结构设计其中主要包含部门管理模块、员工管理模块、授权管理模块和角色管理模块。同时在这些模型的基础上给出了系统的具体应用。 关键词权限角色RBAC模型安全性 九、源码获取 大家点赞、收藏、关注、评论啦 、查看获取联系方式 链接点击直达下载链接
http://www.w-s-a.com/news/30174/

相关文章:

  • 电子商务网站建设需要学什么门户网站推广介绍方案
  • 网站里的专题页面wordpress查询数据库结构
  • WordPress子站站群网站建设代码生成器
  • 怎么攻击织梦网站甘肃省最新消息今天
  • 赣州哪里可以做网站看装修案例的网站
  • 旅游网站专业化建设的要点php 手机网站 模板
  • wordpress百度站长主动推送长春火车站官网
  • 比较好的响应式网站wordpress博客增加音乐页面
  • 广告公司出售家具 税率江门做网站seo的
  • 网站设计建议建设商务网站作用
  • 网站策划的最终体现是什么模板网站建设流程图
  • 网站设计与开发技术教程十度公司做网站怎么样
  • 企业网站推广方案在哪里智慧团建登录入口官网手机版
  • google网页版入口seo索引擎优化
  • 东乡做网站常州网络公司联系方式
  • 做网站激励语家居装饰网站设计论文
  • 镜像的网站怎么做排名无极网站建设质量
  • 奉贤集团公司网站建设小工具文本wordpress
  • 不用代码做网站网站建设和运行费用
  • 阜阳网站开发招聘网站建设合作协议申请
  • 电子配件 技术支持 东莞网站建设wordpress 生成html代码
  • 网站用免费空间好不好网站建设的视频
  • 网站开发项目职责门户资源分享网站模板
  • 建网站需要什么语言如何做二维码跳转到网站
  • 天津建设交培训中心网站做网站起名字
  • 黑河北京网站建设湛江市住房和城乡建设局网站
  • 网站建设拾金手指下拉十九企业查询官网
  • 邢台提供网站建设公司哪家好五合一建站
  • 京东网站设计代码驻马店做网站的公司
  • 织梦网站模板使用教程福州网站建设工作