shiro

how to get id of current user in websocket open method?

为君一笑 提交于 2020-12-29 16:39:35
问题 I am trying to get user id in open method of websocket, and for this I am using shiro, but I get null for Subject,Here is my method: @OnOpen public void open(final Session session, @PathParam("room") final String room) { Subject currentUser = SecurityUtils.getSubject(); long id = currentUser.getPrincipals().oneByType(model.Users.class) .getId(); log.info("session openend and bound to room: " + room); session.getUserProperties().put("user", id); } Does anybody have any idea what I should do?

how to get id of current user in websocket open method?

一曲冷凌霜 提交于 2020-12-29 16:38:20
问题 I am trying to get user id in open method of websocket, and for this I am using shiro, but I get null for Subject,Here is my method: @OnOpen public void open(final Session session, @PathParam("room") final String room) { Subject currentUser = SecurityUtils.getSubject(); long id = currentUser.getPrincipals().oneByType(model.Users.class) .getId(); log.info("session openend and bound to room: " + room); session.getUserProperties().put("user", id); } Does anybody have any idea what I should do?

how to get id of current user in websocket open method?

痴心易碎 提交于 2020-12-29 16:35:32
问题 I am trying to get user id in open method of websocket, and for this I am using shiro, but I get null for Subject,Here is my method: @OnOpen public void open(final Session session, @PathParam("room") final String room) { Subject currentUser = SecurityUtils.getSubject(); long id = currentUser.getPrincipals().oneByType(model.Users.class) .getId(); log.info("session openend and bound to room: " + room); session.getUserProperties().put("user", id); } Does anybody have any idea what I should do?

【程序源代码】Activiti6+java+oa开发框架系统

北战南征 提交于 2020-12-29 07:34:40
关键字:基于Springboot后台,前台vue.js跨域前端,Activiti6工作流的开发框架;是一个非常不错的工作流程开发框架;比较适合做中小型OA项目。 ----------------------------------------------------------- 工作流模块 1. 模型管理 :web在线流程设计器、预览流程xml、导出xml、部署流程 2. 流程管理 :导入导出流程资源文件、查看流程图、根据流程实例反射出流程模型、激活挂起 3. 运行中流程 :查看流程信息、当前任务节点、当前流程图、作废暂停流程、指派待办人 4. 历史的流程 :查看流程信息、流程用时、流程状态、查看任务发起人信息 5. 待办任务 :查看本人个人任务以及本角色下的任务、办理、驳回、作废、指派一下代理人 6. 已办任务 :查看自己办理过的任务以及流程信息、流程图、流程状态(作废 驳回 正常完成) ----------------------------------------------------------- 系统模块 1 . 权限管理 :点开二级菜单进入三级菜单显示 角色(基础权限)和按钮权限 角色(基础权限): 分角色组和角色,独立分配菜单权限和增删改查权限。 按钮权限: 给角色分配按钮权限。 2 . 按钮管理 :自定义按钮管理,维护按钮shiro权限标识等 3 . 菜单管理

Java Web从前端到后台常用框架介绍

拜拜、爱过 提交于 2020-12-26 19:06:12
一、SpringMVC Spring Web MVC是一种基于Java的实现了Web MVC设计模式的请求驱动类型的轻量级Web框架,即使用了MVC架构模式的思想,将web层进行职责解耦,基于请求驱动指的就是使用请求-响应模型,框架的目的就是帮助我们简化开发,Spring Web MVC也是要简化我们日常Web开发的。 模型(Model ) 封装了应用程序的数据和一般他们会组成的POJO。 视图(View) 是负责呈现模型数据和一般它生成的HTML输出,客户端的浏览器能够解释。 控制器(Controller ) 负责处理用户的请求,并建立适当的模型,并把它传递给视图渲染。 Spring的web模型 - 视图 - 控制器(MVC)框架是围绕着处理所有的HTTP请求和响应的DispatcherServlet的设计。 Spring Web MVC处理请求的流程 具体执行步骤如下 : 1、 首先用户发送请求————>前端控制器,前端控制器根据请求信息(如URL)来决定选择哪一个页面控制器进行处理并把请求委托给它,即以前的控制器的控制逻辑部分;图2-1中的1、2步骤; 2、 页面控制器接收到请求后,进行功能处理,首先需要收集和绑定请求参数到一个对象,这个对象在Spring Web MVC中叫命令对象,并进行验证,然后将命令对象委托给业务对象进行处理;处理完毕后返回一个ModelAndView

Shiro+Redis实现Tomcat集群Session共享

一个人想着一个人 提交于 2020-12-24 09:04:09
一、背景   当我们使用了nginx做项目集群以后,就会出现一个很严重的问题亟待解决,那就是:tomcat集群之间如何实现session共享的问题,如果这个问题不解决,就会出现登陆过后再次请求资源依旧需要登陆的问题。这篇文章我们就解决这个问题。 二、实现步骤 说明:本篇是在spring+shiro集成的基础上进行改进的,如果不知道spring和shiro怎么集成,请移步:spring集成shiro做登陆认证 1.在pom.xml中添加shiro-redis和jedis的依赖 2.首先我们需要对redis进行集成,在resources下新建config.properties 3.在resources/spring文件夹下新建spring-redis.xml来集成redis操作客户端 4.添加redisClient.java作为访问redis的客户端 5.接着,我们对spring-shiro.xml做如下修改(红色标记的部分) 6.spring.xml做如下修改 到此我们就完了shiro+redis实现session共享的问题,其实也很简单,其中的实现逻辑也很简单,就是shiro的拦截器会首先去redis里面获取session,作为当本次请求的session. 其他代码以及简单测试代码不再贴出,给出github地址: https://github.com/hafizzhang

CVE-2020-17510: Apache Shiro 权限绕过漏洞通告

佐手、 提交于 2020-12-17 15:25:41
报告编号:B6-2020-110201 报告来源:360CERT 报告作者:360CERT 更新日期:2020-11-02 0x01 漏洞简述 2020年11月02日,360CERT监测发现 Shiro 发布了 Shiro 验证绕过漏洞 的风险通告,该漏洞编号为 CVE-2020-17510 ,漏洞等级: 高危 ,漏洞评分: 7.5 。 在使用 Apache Shiro 与 Spring 时,远程攻击者可以发送特制的HTTP请求,绕过身份验证过程并获得对应用程序的未授权访问。 对此,360CERT建议广大用户及时将 Shiro 升级到最新版本。与此同时,请做好资产自查以及预防工作,以免遭受黑客攻击。 0x02 风险等级 360CERT对该漏洞的评定结果如下 评定方式 等级 威胁等级 高危 影响面 一般 360CERT评分 7.5 0x03 漏洞详情 CVE-2020-17510: 验证绕过漏洞 Apache Shiro 是一个强大且易用的 Java 安全框架,执行身份验证、授权、密码和会话管理。 由于 Shiro 在处理 url 时与 Spring 存在差异,在使用 Apache Shiro 与 Spring 时,远程攻击者可以发送特制的HTTP请求,绕过身份验证过程并获得对应用程序的未授权访问。 0x04 影响版本 - Apache:Shiro : < 1.7.0 0x05

Shiro过滤器

末鹿安然 提交于 2020-12-12 21:43:40
Shiro内置过滤器 anon、authBasic、authc、user、logout perms、roles、ssl、port spring.xml <bean id="shiroFilter" class="org.apache.shiro.spring.web.ShiroFilterFactoryBean"> <property name="securityManager" ref="securityManager" /> <property name="loginUrl" value="login.html" /> <property name="unauthorizedUrl" value="403.html" /> <property name="filterChainDefinitions"> <value> /login.html = anon /subLogin = anon /testRole = roles["admin", "admin1"] /testRole1 = rolesOr["admin", "admin1"] /* = authc </value> </property> <property name="filters"> <util:map> <entry key="rolesOr" value-ref="rolesOrFilter" /> <

2020年工作感悟

扶醉桌前 提交于 2020-12-11 01:27:38
2020 年工作感悟 时光流逝,转眼已经来到了年末。回首过去,我于2020年5月份有幸加入了这个大家庭。我从未知到已知,和公司同事一道为了实现采购信息化的目标而努力奋斗着。转眼间2020年只剩最后一个月,回顾这一年。我们曾为梦想拼搏,也曾遭遇挫折,我们欢呼过,也痛哭过;如今你还有哪些目标没有完成?最后一个月,再拼一把! 2020 年是不平凡的一年,平凡的我们,也创造了不平凡。疫情期间,各级领导及同事们戴着口罩,坚守岗位,夜以继日的工作。在平凡的岗位上做着伟大的事业。 一年即将过去,回望过去,往事历历在目,首先对今年的工作总结如下: 权限系统开发、试运行和上线:一个系统,如果没有安全控制,是十分危险的,一般安全控制包括身份认证和权限管理。用户访问时,首先需要查看此用户是否是合法用户,然后检查此用户可以对那些资源进行何种操作,最终做到安全访问。身份认证的方式有很多种,最简单的就是直接用户名密码,还有业内比较通用的方式CAS方式登陆等;授权的框架也很多,比如OAuth2,Shiro等。权限系统集成的CAS,以及基于角色的权限管理模型(RBAC)的概念在业界接受度较高的权限模型是RBAC(Role-Based Access Control),基本的概念是将“角色”这个概念赋予用户,在系统中用户通过分配角色从而获得相应的权限,一个用户可以有多个角色,一个角色可以有多个权限

仅仅一夜之间我竟秒杀各大面试官

一个人想着一个人 提交于 2020-12-04 08:25:48
最近写博客比较多,有些同学就会请教面试相关的知识,这里专门开一章,专门讲如何秒杀面试官,通关各大公司的面试,因为我之前在上海就是第一天去面试就搞定,一周频繁的收到offer,现在在北京也是只面试了一周,然后在一堆offer中进行选择。各位同学也不要羡慕,看完本章博客你就能学会如何秒杀面试官,轻松应对一系列的面试。 面试前奏 首先我们面试之前一定要梳理好自己的技术知识体系,然后在书写到简历上,写的技术自己一定要能讲出自己的理解。 项目部分将自己做过的项目罗列到简历上后,不能就不管了,要想秒杀面试官,一定要让他在你的回合里走不出来,在项目这一关一定要梳理好一个核心的项目进行讲解,对该项目的整体流程,业务点,技术点以及最重要的实际场景中遇到的技术难点如何解决的都要去复盘。 通过第二点讲到的如何解决难点,再联系到第一点的技术知识体系去,开始讲述关于这个难点所牵扯到的你技术知识体系中的技术。 最重要的两点技术和项目我们都解决了以后,一定也要将自己在上家公司的工作内容梳理清楚,具体涉及了哪些方法的工作内容,eg.开发,测试,文档,设计等 下面是我关于Java技术点的一些梳理,大家可以学习后扩展自己的技术栈,方便秒杀面试官。 有一些知识点没漏写的话,也可以去看下的文章和书籍,但是记得告知博主漏掉了什么知识点呀。 秒杀系列之Spring 这部分的内容可以直接在我的Spring专栏查阅, 链接: