https+shiro+cas+springmvc

cas-shiro-https单点登录实现 包含单点登录tomcat部署,cas服务器部署,项目demo,可更好的理解sso-cas登录 立即下载

Shiro+cas实现单点登录及权限控制

一.首先配置web.xml

<!-- 用于单点退出,该过滤器用于实现单点登出功能,可选配置。-->

<listener>

<listener-class>org.jasig.cas.client.session.SingleSignOutHttpSessionListener</listener-class>

</listener>

<!-- 该过滤器用于实现单点登出功能,可选配置。 -->

<filter>

    <filter-name>CAS Single Sign Out Filter</filter-name>

    <filter-class>org.jasig.cas.client.session.SingleSignOutFilter</filter-class>

</filter>

<filter-mapping>

    <filter-name>CAS Single Sign Out Filter</filter-name>

    <url-pattern>/*</url-pattern>

</filter-mapping>

<!-- 该过滤器负责用户的认证工作,必须启用它 -->

<filter>

<!-- 配置登录过滤器,主要负责在登录时重定到服务器页面 -->

<filter-name>CAS Authentication Filter</filter-name>

<filter-class>com.xxx.h5designer.filter.H5AuthenticationFilter</filter-class>

<init-param>

<!-- 到服务器地址,注意后面的/login -->

<param-name>casServerLoginUrl</param-name>

<param-value>https://xxx.xxx.com:8443/cas/login</param-value>

</init-param>

<init-param>

<!-- 本程序所在的URL -->

<param-name>service</param-name>

<param-value>https://localhost:8444/H5UIDesigner</param-value>

</init-param>

<init-param>

<param-name>excludeUrl</param-name>

<param-value>/*.jsp</param-value>

</init-param>

</filter>

<filter-mapping>

<filter-name>CAS Authentication Filter</filter-name>

<url-pattern>/*</url-pattern>

</filter-mapping>

<!-- 该过滤器负责对Ticket的校验工作,必须启用它 -->

<filter>

<filter-name>CAS Validation Filter</filter-name>

<filter-class>org.jasig.cas.client.validation.Cas20ProxyReceivingTicketValidationFilter</filter-class>

<init-param>

<param-name>casServerUrlPrefix</param-name>

<!-- 要求登录时的链接 -->

<param-value>https://xxx.xxx.com:8443/cas</param-value>

</init-param>

<init-param>

<param-name>service</param-name>

<!-- 本 -->

<param-value>https://localhost:8444/H5UIDesigner</param-value>

</init-param>

</filter>

<filter-mapping>

<filter-name>CAS Validation Filter</filter-name>

<url-pattern>/*</url-pattern>

</filter-mapping>

 

 

<!-- 该过滤器负责实现HttpServletRequest请求的包裹,

         比如允许开发者通过HttpServletRequest的getRemoteUser()方法获得SSO登录用户的登录名,可选配置。-->

<filter>

<filter-name>CAS HttpServletRequest Wrapper Filter</filter-name>

<filter-class>org.jasig.cas.client.util.HttpServletRequestWrapperFilter</filter-class>

</filter>

<filter-mapping>

<filter-name>CAS HttpServletRequest Wrapper Filter</filter-name>

<url-pattern>/*</url-pattern>

</filter-mapping>

<!-- 该过滤器使得开发者可以通过org.jasig.cas.client.util.AssertionHolder来获取用户的登录名。

         比如AssertionHolder.getAssertion().getPrincipal().getName()。-->

<filter>

<filter-name>CAS Assertion Thread Local Filter</filter-name>

<filter-class>org.jasig.cas.client.util.AssertionThreadLocalFilter</filter-class>

</filter>

<filter-mapping>

<filter-name>CAS Assertion Thread Local Filter</filter-name>

<url-pattern>/*</url-pattern>

</filter-mapping>

<!-- Shiro -->

<filter>

<filter-name>shiroFilter</filter-name>

<filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>

<init-param>

<param-name>targetFilterLifecycle</param-name>

<param-value>true</param-value>

</init-param>

</filter>

<filter-mapping>

<filter-name>shiroFilter</filter-name>

<url-pattern>/*</url-pattern>

</filter-mapping>

 

二.增加shiro配置文件

<context:component-scan base-package="com.xxx.h5designer.security"></context:component-scan>

      <tx:annotation-driven transaction-manager="txManager"/>

      <bean id="shiroFilter" class="org.apache.shiro.spring.web.ShiroFilterFactoryBean">

        <!-- shiro的核心安全接口 -->

<property name="securityManager" ref="securityManager"/>  

        <!-- 要求登录时的链接, service后是登录成功后的地址 -->

<property name="loginUrl" value="https://xxx.xxx.com:8443/cas/login?service=https://localhost:8444/H5UIDesigner" />  

        <property name="filters">  

            <util:map>

<!-- 添加casFilter到shiroFilter -->

                <entry key="casFilter" value-ref="casFilter"/>   

            </util:map>  

        </property>

<!-- 自定义的权限过滤器 -->

        <property name="filterChainDefinitions">  

            <value>

             /*.jsp = anon

             /H5UIDesigner* = casFilter

             /logout = logoutFilter

            </value>  

        </property>  

    </bean>

    

    <bean id="casFilter" class="com.xxx.h5designer.security.H5CasFilter">

<!-- 配置验证错误时的失败页面,(Ticket 校验不通过时展示的错误页面) --> 

        <property name="failureUrl" value="/error.jsp"/>  

    </bean>

    

    <bean id="logoutFilter" class="org.apache.shiro.web.filter.authc.LogoutFilter">

<property name="redirectUrl" value="https://xxx.xxx.com:8443/cas/logout?service=https://localhost:8444/H5UIDesigner" />

</bean>

    

<!-- 此处的Realm可以试用shiro工具类里的 -->

    <bean id="casRealm" class="com.xxx.h5designer.security.H5CasRealm"></bean>

    <bean id="securityManager" class="org.apache.shiro.web.mgt.DefaultWebSecurityManager">      

        <property name="realm" ref="casRealm"/>  

        <property name="subjectFactory" ref="casSubjectFactory"/>  

    </bean>

    

    <!-- 如果要实现cas的remember me的功能,需要用到下面这个bean,并设置到securityManager的subjectFactory中 -->

    <bean id="casSubjectFactory" class="com.xxx.h5designer.security.H5CasSubjectFactory"/>

    

    <!--保证实现了Shiro内部lifecycle函数的bean执行, 开启注解?? -->

    <bean id="lifecycleBeanPostProcessor" class="org.apache.shiro.spring.LifecycleBeanPostProcessor"/>

    

    <bean class="org.springframework.beans.factory.config.MethodInvokingFactoryBean">  

        <property name="staticMethod" value="org.apache.shiro.SecurityUtils.setSecurityManager"/>  

        <property name="arguments" ref="securityManager"/>  

</bean>

 

三.在springmvc的配置文件里增加下面配置

<aop:aspectj-autoproxy proxy-target-class="true" />

<!-- Enable Shiro Annotations for Spring-configured beans. Only run after -->

<!-- the lifecycleBeanProcessor has run: -->

<bean class="org.springframework.aop.framework.autoproxy.DefaultAdvisorAutoProxyCreator"    depends-on="lifecycleBeanPostProcessor">

<property name="proxyTargetClass" value="true" />

</bean>

<bean class="org.apache.shiro.spring.security.interceptor.AuthorizationAttributeSourceAdvisor">

<property name="securityManager" ref="securityManager" />

</bean>


四.本项目shiro运行流程
1.当用户在casserver上验证通过后会返回本地应用,根据本地应用login链接进入login方法,该方法体内会获取用户的相关信息,根据shiro框架获取的主体的
login方法进入shiro的核心控制器Realm里进行验证,验证通过后即重定向到getProjects()方法进入项目。
2.Shiro的授权方法并不会在登录的时候就加载,而是在页面或者某些方法里使用了与权限相关的标签或者注解时才会被调用,本项目内的验证是基于Rest服务,
返回权限的集合,shiro会主动返回一个SimpleAuthorizationInfo类型的信息供其他地方验证
 
五.问题解决记录
1.开始对cas这一块不熟悉,在项目启动时候一直出现Caused by: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException:
unable to find valid certification path to requested target异常,后来经过JIM的提醒,意识到改了casserver的地址但是没有改证书,所以要保证
证书(.cer文件)、keystore文件、server地址完全一致;
2.项目环境搭建起来后,出现Error creating bean with name 'projectServiceImpl': Bean with name 'projectServiceImpl' has been injected into other beans
[projectSnapshotServiceImpl,templateProjectServiceImpl] in its raw version as part of a circular reference, but has eventually
been wrapped. This means that said other beans do not use the final version of the bean. This is often the result of
over-eager type matching - consider using 'getBeanNamesOfType' with the 'allowEagerInit' flag turned off, for example. 发现
在项目里出现了好几处Service相互调用Service(其实最后还是要调用dao,一般思路都是Service直接调用dao)的情况,造成了循环引用抛出异常,把相关的
地方修改了就恢复正常了;
3.在进行”Open Project”等操作时出现org.hibernate.HibernateException: Illegal attempt to associate a collection with two open sessions. Collection : 
[com.xxx.h5designer.po.Tproject.tbizparamters#2]异常,要将一些save和update方法改为merge;
4.调用接口问题(授权过程,例如前端加个shiro标签验证权限的时候),由于本项目的用户信息都是基于rest服务在杭州获取到的,由于开始提供的appId在两边
没有完成对接,一直没有发现问题(500 Internal Server Error)的原因,就试着将appId由2改为1才发现问题根源,可以在浏览器内输入接口地址和相关参
数模拟查看。
六.遗留问题和后续工作

1.在单点登录验证通过跳转到本地项目时,控制台会打印一条Info级别的消息:INFO ProxyGrantingTicketStorageImpl:88 - org.jasig.cas.client.proxy.ProxyGrantingTicketStorageImpl(org.jasig.cas.client.proxy.ProxyGrantingTicketStorageImpl.retrieve(ProxyGrantingTicketStorageImpl.java:88)) | No Proxy Ticket found for [].目前还不太明白这条日志的含义,应该是跟cas相关的;


 

七.Cas服务若部署到服务器必须要域名才能够实现(本地除外)

部署H5(cas)到Linux服务器实验步骤(注意路径的双、引号斜杠和反斜杠):

https协议、证书的生成和导入:

1. keytool -v -genkey -alias caspax -keyalg RSA -keysize 1024 -keypass 123456 -keystore /usr/local/tomcat/keystore/caspax.keystore -storepass 123456 -validity 3600

由于我们的H5验证的cas服务由公司的研发中心提供,所以不需要执行此步骤2,直接进行步骤3

2. keytool -export -alias caspax -file /usr/local/keystore/caspax.cer -keystore /usr/local/tomcat/keystore/caspax.keystore -storepass 123456

3. keytool -import -trustcacerts -alias caspax -keystore $JAVA_HOME\jre\lib\security\cacerts -file /usr/local/tomcat/keystore/caspax.cer -storepass 123456

前面三步一般不会出现问题,有问题的话一般是因为路径格式不对, 此处可能提示password was incorrect,将123456改为changeit

4. 修改本地host文件映射

5. 修改server.xml

①(添加节点)<Connector port="8444" protocol="HTTP/1.1" SSLEnabled="true" maxThreads="150" scheme="https" secure="true"  keystoreFile="/usr/local/keystore/localhost.keystore" keystorePass="123456" clientAuth="false" sslProtocol="TLS" />

②.(修改节点:name值)<Host appBase="webapps" autoDeploy="true" name="h5.xxx.com" unpackWARs="true">

6.修改web.xml,spring-shiro.xml里localhost为域名

keytool生成根证书时出现如下错误:

keytool错误:java.io.IOException:keystore was tampered with,or password was incorrect

原因是在你的home目录下是否还有.keystore存在。如果存在那么把他删除掉,后再执行

或者删除$JAVA_HOME/jre/lib/security/cacerts 再执行

也可能是密码错误,默认密码为changeit

 

-------------------------

 

1. 查看tomcat状态: ps -ef|grep java

2. 停止tomcat:./shutdown.sh,若停止失败采取强制关闭:kill -9 进程号


这是最近做项目的一点经验,有很多理解不透彻的地方欢迎指正,在配置文件那一块有部分是用自定义的,所以需要的可以查看其它博主写的相关内容

springmvc+spring+shiro+cas单点登录实例 spring+springmvc+shiro+cas单点登录实例 springmvc+spring+shiro+cas单点登录实例 加入了登录验证码认证,修改了下首页样式,不过样式没有弄好,很丑的,有空自己再弄下 说明:cas-server是单点登录服务端,用的是maven项目,但是WEB-INF里面的lib目录下面有很多jar包需要导入到工程。服务端启动就用windows版本的tomcat吧,tomcat添加cas-server就好,端口自定 spring-node-1 和spring-node-1 是cas客户端,这两个直接用maven-tomcat7的插件启动,在pom.xml中配置好了,端口也在配置了。然后clean install tomcat7:run 就能跑起来,注意要修改node1和node2里的shiro.properties配置文件,要配置登录成功成功返回的路径 我的访问的分别是: 服务端: http://localhost:8050/cas-server 客户端:http://127.0.0.1:8081/node1/shiro-cas http://127.0.0.1:8082/node2/shiro-cas 下载地址 github :https://github.com/xiaofeifeia/spring-springmvc-shiro-cas-.git 立即下载

相关推荐

lidar360 V8.0 & lidar360MLS V8.0雷达点云数据处理软件

机载林业 — 基于机载激光雷达点云数据提取一系列森林结构参数(如:高度分位数、叶面积指数、郁闭度等),分割单木并提取单木参数(包括树的位置、树高、胸径、枝下高、冠幅等属性),利用软件的多种回归分析功能可以结合地面调查数据反演森林生物量、蓄积量等功能参数。还可以生成等高线、山体阴影、坡度、坡向、粗糙度等多种产品。分类 — LiDAR360提供多种分类功能,包括地面点分类、模型关键点分类、选择区域地面点分类、机器学习模型分类(可高效地分离建筑、植被、路灯等通用类别)、深度学习模型分类、自定义深度学习分类等。

2403_83796253的博客 5155

shiro-cas------本地配置cas为HTTPS登录

上一篇:shiro-cas------搭建基础cas服务器 解决上图所提示的问题(在本地),需要配置https请求。 首先给这个服务起个域名:shiro.sso.com 配置到本地的host文件,这里我通过工具SwitchHosts来设置。 生成密钥 参数说明 genkeypair 生成密钥 keyalg 指定密钥算法,这时指定RSA, keysize 指定密钥长度,默认是1024位,这里指定2048,长一点,比较难破解 siglag 指定数字签名算法,这里指定为SHA1withR

weixin_39816740的博客 503

c++多线程(1)------创建和管理线程td::thread

std::thread 是 C++11 标准库中用于创建和管理线程的核心类,定义在 <thread> 头文件中。它使得多线程编程变得简单、类型安全且跨平台。

jndingxin的专栏 648

Http项目转Https项目

Https证书准备 开发环境下,可直接用JDK自带的keytool工具生成一个证书,正式环境可购买一个,配置过程是一样的: 打开cmd命令行,输入以下命令: 命令解释: -alias 证书别名 -keypass 证书密码 -keyalg 生证书的算法名称,RSA是一种非对称加密算法 -keysize 密钥长度 -validity 证书的有效期(单位:天) -key...

aiyy1991的博客 665

如何解决Windows系统中缺失oem*.inf文件导致的软件运行问题

本文详细解析了Windows系统中因oem*.inf文件缺失导致软件无法运行的常见问题。文章阐述了oem*.inf文件作为安装信息文件的重要作用,并提供了从精准定位文件路径、安全获取与替换文件的手动修复步骤,到利用专业工具进行一站式修复的完整解决方案。最后,还给出了从软件安装来源、卸载习惯到系统维护等方面的预防措施,帮助用户彻底避免此类问题。

water的专栏 547

深入了解神经网络:构建人工智能的基石

这篇博客将为您解释神经网络的构造,让您能够理解这个令人着迷的领域的基本工作原理。神经网络是人工智能领域的关键技术,它们的构造基于神经元的灵感,并结合了数学、统计和机器学习的原理。输入可以类比为神经元的树突,而输出可以类比为神经元的轴突,计算则可以类比为细胞核。较好的方法就是预先设定几个可选值,通过切换这几个值来看整个模型的预测效果,选择效果最好的值作为最终选择。:这是神经网络的核心部分,包含多个层次的神经元。、神经网络结构图中的拓扑与箭头代表着预测过程时数据的流向,跟训练时的数据流有一定的区别;

AI_dataloads的博客 2万+

springmvc配置ssl_Spring Mvc和Spring Boot配置Tomcat支持Https

SpringBoot配置支持httpsspring boot因为是使用内置的tomcat,所以只需要一些简单的配置即可。1.首先打开命令行工具,比如cmd,输入以下命令keytool -genkey -alias tomcat -storetype PKCS12 -keyalg RSA -keysize 2048 -keystore keystore.p12 -validity 36502.然后在...

weixin_42591908的博客 591

Proxmox VE网络配置踩坑实录:从Web界面无法访问到完美修复的全过程

本文详细记录了Proxmox VE服务器Web界面无法访问的完整排查与修复过程。作者从基础网络连通性测试入手,逐步排查了服务状态、SSL证书、端口监听、防火墙规则及网关配置,最终定位并解决了问题。文章提供了系统性的故障排查思路和实用的修复命令,对管理Proxmox VE网络具有重要参考价值。

weixin_29231221的博客 890

SSO CAS+Shiro+springmvc单点登录解决方案

第一节:单点登录简介 第一步:了解单点登录 SSO主要特点是: SSO应用之间使用Web协议(如HTTPS) ,并且只有一个登录入口. SSO的体系中有下面三种角色: 1) User(多个) 2) Web应用(多个) 3) SSO认证中心(一个) SSO实现包含以下三个原则: 1) 所有的登录都在 SSO 认证中心进行。 2) SSO认证中心通过一些方法来告诉Web应用当...

一吻成痴 800

ABAP RAP 行为建模深入学习:从 Behavior Definition 到 Behavior Implementation 的完整实践指南

ABAP RAP开发指南:业务行为定义与实现 本文介绍SAP RAP框架中业务对象行为的开发方法: 分层设计 Behavior Definition声明业务能力(增删改查、校验、动作等) Behavior Implementation在ABAP类中编写具体逻辑 核心组件 使用BDL定义业务行为 通过FOR BEHAVIOR OF绑定行为池类(ABP) 在本地类实现校验/确定/动作逻辑 关键特性 支持managed/unmanaged两种实现模式 提供草稿表、并发控制等企业级功能 通过EML以别名访问实体 开

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 414

【云原生】Docker可视化工具Portainer使用详解

Docker可视化工具Portainer使用详解

congge 1万+

SpringMVC + Shiro 集成 CAS

shiro 在 1.2 版本之后加入 shiro-cas 支持 sso 的 cas 登录验证,以下给出具体的对接方式 相关网址 从这里知道了 shiro.xml 的具体配置 讲解了最基础的通过 Filter 控制 CAS 可能会碰到的重定向问题 如何搭建 CAS Server GitHub - apereo/cas-overlay-template at 5.3 写在前面的话 CAS (...

asing1elife's blog 1295

西门子 S7-1200 G2 高速计数器的使用方法介绍

西门子 S7-1200 G2 高速计数器的使用方法介绍

Robot_PLC_HMI_Automation 1699

springMVC+CAs+shiro整合一 环境搭建下载CAS及导入idea中

CAS理论之类的我就不再多说了,随便找一找也够看一下午的了,我只说整个搭建过程。 1.https://github.com/Jasig/cas/releases中下载最新版4.0.3得到cas-4.0.3.zip 2.解压得到如下图: 3.这里有两种方法,一种是直接用maven打包cas-server-webapp,再将打包后的cas.war包放tomcat运行,另一种直接将cas-ser

I__Rookie的博客 2716

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

springmvc--sso单点登录cas统一身份认证器

开发环境 maven idea Windows 10 JDK1.8+ 域名解析的配置 这里通过SwitchHosts来实现:以管理员身份打开 前两个:两个客户端应用的域名 后一个:是服务端的域名。 CAS服务器安装 下载服务端的overlay包: https://github.com/apereo/cas-overlay-template 下载下来的压缩包: ...

别浪 5072

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

springmvc配置ssl_springboot springmvc 支持 https

Spring Mvc和Spring Boot配置Tomcat支持Https背景最近在项目开发中需要让自己的后端Restful接口支持https,在参考了很多前辈们的博客后总结了一些。SpringBoot配置支持httpsspring boot因为是使用内置的tomcat,所以只需要一些简单的配置即可。1.首先打开命令行工具,比如cmd,输入以下命令keytool -genkey -alias to...

weixin_32251071的博客 969

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

springmvc配置ssl_SpringMVC配置与使用

一、MVC概要MVC是模型(Model)、视图(View)、控制器(Controller)的简写,是一种软件设计规范,用一种将业务逻辑、数据、显示分离的方法组织代码,MVC主要作用是降低了视图与业务逻辑间的双向偶合。MVC不是一种设计模式,MVC是一种架构模式。当然不同的MVC存在差异。在web早期的开发中,通常采用的都是Model1。Model1中,如图所示主要分为两层,视图层和模型层。Mode...

weixin_29365481的博客 411

springmvc配置ssl_spring MVC配置详解

现在主流的Web MVC框架除了Struts这个主力 外,其次就是Spring MVC了,因此这也是作为一名程序员需要掌握的主流框架,框架选择多了,应对多变的需求和业务时,可实行的方案自然就多了。不过要想灵活运用Spring MVC来应对大多数的Web开发,就必须要掌握它的配置及原理。一、Spring MVC环境搭建:(Spring 2.5.6 + Hibernate 3.2.0)1. jar包引...

weixin_28747257的博客 458

Spring Mvc和Spring Boot配置Tomcat支持Https

其实就是增加了keystoreFile和keystorePass两个属性,其中keystoreFile最好使用绝对路径,因为如果你和我一样使用intellj idea作为开发工具的话,使用相对路径,则idea启动spring mvc项目是无法成功加载keystore的,因为idea读取的配置是从idea的临时目录下。由于spring mvc的项目需要依赖我们系统安装的tomcat,所以需要对我们系统的tomcat进行相关配置。5.最后启动你的spring boot项目即可用https的方式访问你的接口了。

耿颖才的博客 1767

SpringMVC基础配置详解与实践

【1】SpringMVC中一些基础类 SpringMVC通过一些"特殊的bean"来处理请求、以合适的方式渲染响应。 ① HandlerMapping 将请求与用于预处理和后处理的拦截器列表一起映射到处理程序 。映射基于某些标准,其细节因HandlerMapping 实现而异。 两个主要HandlerMapping实现是RequestMappingHandlerMapping (支持带@RequestMapping注释的方法)和SimpleUrlHandlerMapping (维护 URI 路径模式到处理程

小小默:进无止境 1373

SpringMVC页面加载不出来,静态资源全部自动https

最近开发的一个SpringMVC项目,打开之后默认是https,浏览器直接报错了。然后链接改成http之后,看到可以正常访问,但是css和js等静态资源全都加载不出来。看了下控制台,静态资源全都是https请求的,这也就是失败的原因。所以解决问题的关键就是关掉自动https。这种自动https的一般就是页面加了。果断删掉,重启项目,果然正常了。,所以解决的话直接搜索所有页面的。

Counter-Strike大牛 818

SpringMvc和SpringBoot配置Tomcat支持Https

Spring Mvc和Spring Boot配置Tomcat支持Https背景最近在项目开发中需要让自己的后端Restful接口支持https,在参考了很多前辈们的博客后总结了一些。SpringBoot配置支持httpsspring boot因为是使用内置的tomcat,所以只需要一些简单的配置即可。1.首先打开命令行工具,比如cmd,输入以下命令 keytool -genkey -alias t

颜艺公社 8608

Spring RestTemplate 配置 SSL https (使用 Spring @MVC)

<Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol" maxThreads="200" scheme="https" secure="true" SSLEnabled="true" keystoreFile="C:UsersChanna.keystore" keyst

漫步 1万+

HTTPS重定向到HTTP

一.场景:   在企业内网应用,以及一些安全要求不高的网站会有一些https转http的需求,例如只是登陆https协议,其他请求都是走http协议,走http协议不再需要重新登陆一次。   二.解决方案   Cookie时效:   当cookie是secure的情况下,当服务器从https协议重定向到http协议后,这样的cookie就不会随请求发送到服务器。  当co

杨军的博客 2万+
上一篇: SVN使用教程总结
下一篇: 活用maven,使web.xml可以用maven变量
今天晴
博客等级 码龄12年 12粉丝 7原创
评论 5
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值