shiro控制不同模块登录地址

jwt结合shiro实现认证和权限控制,非常详细 文章目录前期准备1. 导入依赖2. 编写JwtUtil类3. 封装token4. 编写JWT的过滤器5. 编写shiro的自定义Realm对象6. 编写shiro配置文件7. 捕获shiro异常8. 编写controller1.登录接口2.用户接口9.测试结果 前期准备 jwt,我的理解就是可以进行客户端与服务端之间验证的一种技术,取代了之前使用Session来验证的不安全性。为什么不适用Session? 原理是,登录之后客户端和服务端各自保存一个相应的SessionId,每次客户端发起请求的时候就得携带 阅读详情
一个模块可能是后台,可能是前台,这个理如何实现区分2个模块的登录地址
针对模块写一个过滤器,设置当用户没有登录时应该去哪个地址,超简单,多个模块可以区分地址跳转
多模块公用过滤器也是可以的
@Override
  protected boolean onAccessDenied(ServletRequest request,
      ServletResponse response) throws Exception {
    //获取当前网页地址
    HttpServletRequest httpServletRequest = (HttpServletRequest) request;
    httpServletRequest.getRequestURI();
    
    Subject subject = getSubject(request, response);
    if (!subject.isAuthenticated() && !subject.isRemembered()) {
      WebUtils.issueRedirect(request, response, getLoginUrl());
      return false;
    }

    return true;
  }
标签: <无>

代码片段(3)[全屏查看所有代码]

1. [代码][Java]代码     

?
1
2
3
4
5
6
7
<beans:bean id= "customlogin"
         class = "com.sniper.springmvc.shiro.filter.CustomLogonUrl" >
         <beans:property name= "loginUrl" value= "/company/login" />
     </beans:bean>
 
//增加模块的filter的控制
/company/**=customlogin

2. [代码][Java]代码     

?
1
2
3
4
5
6
<beans:property name= "filters" >
             <beans:map>
                 <beans:entry key= "kickout" value-ref= "kickout" />
                 <beans:entry key= "customlogin" value-ref= "customlogin" />
             </beans:map>
         </beans:property>

3. [文件] CustomLogonUrl.java ~ 1KB     下载(0)     

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
package com.sniper.springmvc.shiro.filter;
 
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletRequest;
 
import org.apache.shiro.subject.Subject;
import org.apache.shiro.web.filter.AccessControlFilter;
import org.apache.shiro.web.util.WebUtils;
 
/**
  * 控制企业没有登录访问页面似的转向
  *
  * @author suzhen
  *
  */
public class CustomLogonUrl extends AccessControlFilter {
 
     @Override
     protected boolean isAccessAllowed(ServletRequest request,
             ServletResponse response, Object mappedValue) throws Exception {
         return false ;
     }
 
     @Override
     protected boolean onAccessDenied(ServletRequest request,
             ServletResponse response) throws Exception {
         // 获取当前网页地址
         HttpServletRequest httpServletRequest = (HttpServletRequest) request;
         httpServletRequest.getRequestURI();
         Subject subject = getSubject(request, response);
         if (!subject.isAuthenticated() && !subject.isRemembered()) {
             WebUtils.issueRedirect(request, response, getLoginUrl());
             return false ;
         }
         return true ;
     }
}
spring boot整合Shiro实现单点登录 前面的博客中,我们说道了Shiro的两个最大的特点,认证和授权,而单点登录也是属于认证的一部分,默认情况下,Shiro已经为我们实现了和Cas的集成,我们加入集成的一些配置就ok了。 1、加入shiro-cas包 org.apache.shiro shiro-cas 1.2.4 阅读详情

相关推荐

shiro禁止多点登录或重复登录

原文地址 目的:每个用户只允许一个session可用,在redis中也只能有一条session记录 为演示直接在Controller层进行控制(我也不是很清楚应该在哪里进行控制,哈哈哈) 思路:shiro认证通过之后向session中保存当前登录的账号(唯一识别),获取redis 中存的所有session,依据上次登录向session保存的信息找到上一次存的session,先删除redis中的...

iLeeHan 1552

Shiro 多登录地址

文章目录1.需求2. 登录代码修改用户类型枚举类重写 UsernamePasswordToken根据loginType 写对应的realm重写ModularRealmAuthenticator, 根据提交的loginType选择realm根据loginType的类型写重写对应的FormAuthenticationFilter3. 登出代码4. 超时时跳转处理5. 配置spring-shiro.xml 1.需求 原先的user表数据。相当于多个部门, 每个部门都有自己登录地址,其实用的功能都一样。 不想多布置

qq_33268245的博客 1318

shiro手机无状态登录访问和电脑端登录访问两种方式处理

shiro stateless Demo of shiro session and stateless 安全框架shiro的一个同时支持无状态和session登录的添加部分自定义的demo 完整demo项目github源码 什么是shiro 官网地址 Shiro is a powerful and easy-to-use Java security framework that performs ...

tom9238的博客 4637

shiro管理多登录入口配置,手机端登录与网页端登录

shiro管理多登录入口配置,手机端登录与网页端登录 1、2个Realm:分别为手机端、网页端的 /** * 自定义MobileRealm . */ public class MobileRealm extends AuthorizingRealm { @Override protected AuthorizationInfo doGetAuthorizationInfo(Principa...

qq_43425632的博客 5590

Shiro登录机制验证,自定义FormAuthenticationFilter

自定义登录form拦截器:org.apache.shiro.web.filter.authc.FormAuthenticationFilter 问题描述 使用shiro进行系统身份验证-权限控制,登录界面进行登录操作何时触发 boolean org.apache.shiro.web.filter.authc.AuthenticatingFilter.execute

涛哥盛世 2万+

shiro控制登录访问权限

spring-mvc中shiro控制登录访问权限 步骤: 1.在web.xml中配置 2.在spring-mvc中配置 3.创建两个实体类 :(在web层创建) 实体类一: AuthRealm 继承shrio包中的类 AuthorizingRealm ,AuthorizingRealm是realm的实现类之一 ...

kangshifu007的博客 1007

springboot + shiro 多realm多loginUrl设置(动态改变loginUrl)

【springboot + shiro】多realm的多loginUrl设置(动态改变loginUrl) 在shiro多realm的情况下,让用户访问需要认证的页面时,不同的角色肯定需要不同的loginUrl 然而shiro的ShiroFilterFactoryBean只能写入一个loginUrl,此时需要用到ShiroFilterFactoryBean的setFilters方法,解决办法如下: shiro底层是通过redirectToLogin方法使未认证的用户跳转到登陆页的,那么只需要重写这个方法

weixin_45044261的博客 2698

对族实例进行任意的矩阵变换,需要什么样的族?

问:一个小问题,想向您请教一下。 能不能实现一个这样的操作:创建了一个常规模型的FamilyInstance,然后知道旋转和平移的矩阵,能否根据变换矩阵更新FamilyInstance的位置,绕任意轴旋转任意角度。 请问什么样的实体才能在revit项目文件中任意旋转?貌似一般的实例只能在XY平面内旋转,并且LocationPoint中只有一个Rotation参数。答:您好,因为Revit里面的构件

我爱Revit —— BIM应用及BIM应用软件解决方案专栏 3628

springboot整合shiro实现多real登录

在ModularRealmAuthenticator 中,多重验证中,默认的验证策略AtLeastOneSuccessfulStrategy。可以通过继承ModularRealmAuthenticator 来重新定义获取realm的规则。这里我使用的是默认的。

qq_41720578的博客 1055

图解转置卷积原理

声明:本文大部分搬运自【机器学习】详解 转置卷积 (Transpose Convolution) 感谢博主花与人间事同,本人只是在博主原创文章上做补充以及添加一些自己的理解。 1 转置卷积的背景 通常,对图像进行多次卷积运算后,特征图的尺寸会不断缩小。而对于某些特定任务 (如图像分割和图像生成等),需将图像恢复到原尺寸再操作。这个将图像由小分辨率映射到大分辨率的尺寸恢复操作,称为上采样 (Upsample),如下图所示: 上采样方法有很多,详见【图像处理】详解 最近邻插值、线性插值、双线性插值、双三次插值

laonafahaodange的博客 5686

STM32F407+LWIP实战:手把手教你移植mbedtls库实现Modbus TCP双向认证

本文详细介绍了如何在STM32F407微控制器上移植mbedtls库,结合LWIP协议栈实现Modbus TCP的双向认证功能。通过TLS 1.2加密通道,有效提升工业物联网通信的数据安全性,涵盖证书管理、内存优化及性能调优等关键步骤,为嵌入式系统开发者提供了一套完整的解决方案。

weixin_28721917的博客 516

shiro中多用户的登陆页面(multiple login pages)配置

<bean id="membersAuthc" class="org.apache.shiro.web.filter.authc.FormAuthenticationFilter"> <property name="loginUrl" value="${frontPath}/loginl" /> <property name="successU...

臣本布衣,躬耕于南阳 1万+

Win10局域网内文件共享+远程桌面控制保姆级教程(含常见问题解决)

本文提供Win10局域网内文件共享和远程桌面控制的详细教程,包括环境检查、共享文件夹设置、远程桌面连接步骤及常见问题解决方案。通过内置功能实现高效办公协作,提升多设备协同工作效率,特别适合需要频繁传输文件或远程控制场景的专业人士。

rose2的博客 777

SpringBoot集成shiro+shiro-redis实现登录、授权访问和多端登录控制

1、导入依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId> <version>2.1.7.RELEASE</version> </d

一叶知秋hwb的博客 2861

xsens IMU配置

1.安装驱动 sudo apt-get update sudo apt-get install ros-kinetic-xsens-driver 2.配置IMU 设置输出四元数,加速度、角速度、地磁 cd /opt/ros/kinetic/lib/xsens_driver python mtdevice.py --configure "oq,aa,wr,mf" 3.启动IMU roslaunch xsens_driver xsens_driver.launch 转(https://www.cnblo

qq_41585680的博客 2325

benders分解算法 逻辑思路整理(加星)

一般我们经常可以看到的是经典的benders,此处我也结合经典的benders梳理下思路。

sinat_41348401的博客 7986

Shiro 入门教程 - Shiro 并发登录控制

作者简介:大家好,我是哥,前中兴通讯、美团架构师,现某互联网公司联系qq:184480602,加我进群,大家一起学习,一起进步,一起对抗互联网寒冬学习必须往深处挖,挖的越深,基础越扎实!

smart_an的专栏 833

Android开发中StateFlow与LiveData的5个关键区别及实战避坑指南

本文深度解析了Android开发中StateFlow与LiveData的5个核心区别,包括设计哲学、生命周期管理、值更新策略、线程模型及协程生态整合。通过实战代码对比,为开发者在现代MVVM架构下的状态管理选型提供清晰的决策指南和避坑建议,帮助构建更健壮、可测试的应用。

weixin_29012677的博客 402

Shiro禁止多点登录或重复登录

原文博客地址 目的:每个用户只允许一个session可用,在redis中也只能有一条session记录 为演示直接在Controller层进行控制(我也不是很清楚应该在哪里进行控制,哈哈哈) 思路:shiro认证通过之后向session中保存当前登录的账号(唯一识别),获取redis 中存的所有session,依据上次登录向session保存的信息找到上一次存的session,先删除redis...

NullOK的博客 2372

Modelsim:LPDDR5仿真(含美光仿真模型官方sv&vcs代码)

虽然,三星在设计跟量产上,早于其他家存储产商,但是镁光后来居上了,是业界首家支持全速 LPDDR5 的供应商,并且开发者在做开发的时候,也是用美光颗粒比较多,所以这里就先以美光的仿真模型为主进行仿真。 本工程为美光官方工程,支持Modelsim、VCS、ncverilog三种仿真器仿真。模型破解过,为完整system-verilog代码。

千歌叹尽执夏的博客 1283

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

Shiro 并发登录控制

Shiro 并发登录控制 并发登录人数控制 在某些项目中可能会遇到如没买个账户同事有一个人登录或几个人同时登陆了,如果同时又多人登录;要么不让后者登录;要么踢出前者(强制退出).比如 spring secrity就直接提供了相应的功能;Shiro的话没有提供默认的实现,不过可以很容易的在Shiro中加入这个功能. 示例代码基于《第十六章 综合实例》完成,通过 Shiro Filter 机制扩展 K...

Andrew的博客 450

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

springboot + shiro 尝试登录次数限制与并发登录人数控制

文章目录一、尝试登录次数控制实现1. 实现原理2. maven依赖3. ehcache配置4. RetryLimitCredentialsMatcher5. Shiro配置修改6. realm添加认证器7. 并发在线人数控制实现8. ehcache配置9. shiro配置10. shiro过滤链中加入并发登录人数过滤器11. 参考博客: 一、尝试登录次数控制实现 1. 实现原理 Realm在验证用户身份的时候,要进行密码匹配。最简单的情况就是明文直接匹配,然后就是加密匹配,这里的匹配工作则就是交给Crede

Gblfy_Blog 1338

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

Shiro(三)——三种不同的登录方式、RememberMe登录、Shiro 授权、其他配置(配置注销后的跳转页面、处理 JsessionID)

Shiro(三)—— 一、三种不同的登录方式 1、第一种登录方式 上一篇博客用的就是第一种登录方式,自己定义登录逻辑,自己定义页面,错误信息等,就是第一种登录方式了。 2、第二种登录方式——无状态登录 这是一种比较老的登录方式了。登录网站会弹框让你输入账号密码。这种一般就是属于 httpBasic 登录,然后把账号密码放在请求头信息中,传输到服务端解析。 这种登录有比较大的弊端: 一是不安全,因为信息都放在请求头中了; 二是这种登录是无状态登录,没有会话,也就没有 cookie 了,然后就是登录后账号密码

qq_41824825的博客 2193

springboot+shiro实现登录人数控制

今天又是美好的一天,好了,不多逼逼。今天内容有点多,咱们抓紧时间。 好,咱们来讲讲如何写springboot+shiro 实现登陆人数控制 来,咱们直接看代码 conrtoller:咱们就是一个正常登陆,没什么区别 Subject subject = SecurityUtils.getSubject(); UsernamePasswordToken usernamePasswordToken = new UsernamePasswordToken(username,password); System.ou

weixin_45541795的博客 995

SpringBoot+shiro整合学习之登录认证和权限控制

学习任务目标 用户必须要登陆之后才能访问定义链接,否则跳转到登录页面。 对链接进行权限控制,只有当当前登录用户有这个链接访问权限才可以访问,否则跳转到指定页面。 输入错误密码用户名或则用户被设置为静止登录,返回相应json串信息。 我是用的是之前搭建的一个springboot+mybatisplus+jsp的一个基础框架。在这之上进行shiro的整合。需要的同学可以去我的码云下载。 导入shiro

qq_20954959的博客 8255
上一篇: ]JAVA发送短信
下一篇: 基于JAVA的货币汇率api调用代码实例
木木那年
博客等级 码龄12年 37粉丝 36原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值