Security

Spring Security介绍 文章主要分三部分 1、Spring Security的架构及核心组件:(1)认证;(2)权限拦截;(3)数据库管理;(4)权限缓存;(5)自定义决策; 2、环境搭建与使用,使用当前热门的Spring Boot来搭建环境,结合项目中实际的例子来做几个Case; 3、Spring Security的优缺点总结,结合第二部分中几个Case的实现来总结Spring Security的优点和缺点。 1、Spring Security介绍 ​ 整体介绍,Spring Security为基于J2EE开发的企业应用软件 阅读详情
<script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script> JCA/JCE
安全的核心是数据加密,我们本章主要讨论Java中的加密算法。
Java平台为安全和加密服务提供了两组API:JCA和JCE。 JCA (Java Cryptography Architecture)提供基本的加密框架,如证书、数字签名、消息摘要和密钥对产生器; JCE(Java Cryptography Extension) 在JCA的基础上作了扩展,包括加密算法、密钥交换、密钥产生和消息鉴别服务等接口。


JCA/JCE并不执行各种算法,它们只是连接应用和实际算法实现程序的一组接口。软件开发商根据JCE接口,将各种算法实现后,打包成一个Provider,可以动态地加到Java运行环境中。由于美国出口控制规定,JCA 是可出口的(JCA和一个 Sun的默认实现包括在Java2中),但是JCE是限制出口的。因此,要实现一个完整的安全结构,就需要一个或多个第三方厂商提供的JCE产品,称为JCE Provider。


Apusic JCE Provider
Apusic Application Server中包含一个完整的JCE Provider: Apusic Security Provider。它完全基于JCE 1.2实现,提供了数字签名、消息摘要、消息鉴别码、RSA 非对称加密、序列密码加密、DES等分组密钥密码加密、密钥生成、密钥交换等常用的算法。


利用 Apusic Apusic Security Provider,可以实现各种安全框架,如 SSL 传输、基于证书的身份认证,基于口令的加密,等等。 Apusic Apusic Security Provider,使您的电子交易系统更加安全可靠。


JCE Provider的安装
我们以 Apusic JCE Provider为例说明如何加载第三方的JCE Provider。


第三方提供的JCE Provider一般是一个jar包文件,如 Apusic提供的JCE Provider是apusic_jce.jar。


首先将apusic_jce.jar加入到classpath中。


然后在.../jre/lib/security/java.security 文件中的security.provider.1=sun.security.provider. Sun 下增加一行:security.provider.2=com.apusic.security.provider.Provider


如果不在java.security中作如上配置,则必须在调用时用以下程序动态加载:


Security.addProvider(new com.apusic.security.provider.Provider());


调用加密算法
在正确加载JCE Provider后,你就可以通过JCE的标准接口调用各种加密算法。如调用DES加密算法的程序如下:




byte[] DESEncryption(Key desKey, byte[] b){
Cipher cipher = null;
byte[] r = null;
try{
cipher = Cipher.getInstance("DES" "/ECB/PKCS#5");
cipher.init(Cipher.ENCRYPT_MODE, desKey);
r = cipher.doFinal(b);
}catch(Exception e){
System.out.println(getMessage());
}
return r;
}


Java中的密钥管理
在JDK中,提供了密钥和证书管理工具 keytool。它使用户能够管理自己的公钥/私钥对及相关证书,用于(通过数字签名)自我认证(用户向别的用户/服务认证自己)或数据完整性以及认证服务。它还允许用户储存他们的通信对等者的公钥(以证书形式)。


Java通过keystore来存储密钥和证书。keystore有多种实现方式,JDK缺省使用一个名为“JKS”的专用密钥仓库类型(格式),将keystore实现为一个文件。


SSL
SSL依靠证书来验证通讯双方的身份。当发送方Alice和接收方Bob开始SSL会话时,Alice生成一个随机的DES密钥,将这个密钥用Bob证书中包含的RSA公钥加密,这样这个DES密钥就只能有拥有对应私钥的Bob可以解开了。Alice将加密过的DES密钥传给Bob,Bob收到后返回响应信息。


在SSL传输中,利用在握手过程中得到的DES密钥对通讯数据进行数据加密。可能还需要对加密过的数据外再传输消息鉴别码。


Apusic JCE Provider包含实现SSL传输的所有算法,如RSA,DES,你可以利用 Apusic JCE Provider迅速实现自己的SSL加密传输
Spring Security 登陆成功后的处理        Spring Security 完成登陆后一般需要一些自定义的处理,例如,记录登陆日志,初始化用户菜单等等 这里就需要自定义的 登陆成功处理了,Spring  提供了 AuthenticationSuccessHandler 接口,完成这个接口就可以了。 但是,修改到这里处理后,原先系统的自动转向处理就没有了,接口中应该怎么写,才可以保持原来的功能呢?   代码如下:   ... 阅读详情

相关推荐

Spring Security 4 原理详解

场景: 用户通过提交username和password请求登陆 服务器验证身份信息是否正确 获取用户信息(包括角色集合) 利用3中的信息构建Security Context 在此之后,该用户的所有请求,Spring Security的访问控制机制将根据Security Context中的信息判断用户是否具有权限 以上,前3点即为认证,构建Security Context,为之后5的授权(访

lbqssss的博客 8448

深入理解Android之Java Security第一部分

深入理解Android之Java Security从事Android工作4年以来,只有前1年不到的时间是用C++在开发东西(主要是开发DLNA组件,目前我已将它们全部开源,参考http://blog.youkuaiyun.com/innost/article/details/40216763),后面的工作几乎都在用Java。自以为Java相关的东西都见过了,可前段时间有个朋友给我花了1个多小时讲解他们某套系统

Innost的专栏 6万+

Spring Security 配置 Content Security Policy(CSP)

参考网址 https://springdoc.cn/spring-security-csp 1.概览 跨站脚本攻击(Cross-Site Scripting,XSS)一直稳居最常见的十大网络攻击之列。XSS 攻击发生在 Web 服务器处理用户恶意输入时,未经验证或编码即在页面上渲染。与 XSS 攻击类似,代码注入和点击劫持通过窃取用户数据和冒充用户身份来对 Web 应用造成严重影响。 本文将...

自强不息,厚德载物,未来可期 1744

java security_Java Security 介绍

1.介绍Java平台设计的重点是安全性。在其核心,java语言本身是类型安全的并且提供了垃圾自动回收,这使其增加了应用程序代码的健壮性。安全的类加载以及验证机制确保了只有合法的代码才能够执行。初期的java平台为不信任的代码创建了一个安全的独立运行的安全环境,例如从公网下载的java applets。随着平台的增长以及部署范围的扩张,Java安全体系结构也相应地演变为支持日益增长的服务集。时至今日...

weixin_28974337的博客 680

Spring Security

这个类中没有多余的逻辑,都是HttpSecurity内部配置类中重写的方法执行,HttypSecurit的内部配置类就是我们通过HttpSecurity点出来的属性配置,比如:CsrfConfigurer,构建的时候,传入的就是上层配置类的HttpSecurity。,保存了各个SecurtiyConfigure初始化构建的HttpSecurity,httpSecurity经过build后返回的DefaultSecurityFilterChain对象,这个对象中包含的匹配路径,对应的过滤器集合。

xiaopang2020的博客 1282

spring security详解

1.概要 Spring是非常流行和成功的Java应用开发框架,SpringSecurity正是Spring家族中的成员。SpringSecurity基于Spring框架,提供了一套Web应用安全性的完整解决方案。正如你可能知道的关于安全方面的两个主要区域是“认证”和“授权”(或者访问控制),一般来说,Web应用的安全性包括用户认证(Authentication)和用户授权(Authorization)两个部分,这两点也是SpringSecurity重要核心功能。 (1)用户认证指的是:验证某个用户是否为系统

wumingdu1234的博客 7764

java调用jce加密_关于加密:JCE无法在java swing应用程序中验证提供程序BC

我在JAVA中创建了一个基于swing的应用程序,它使用了一些加密技术。 但javax.crypto.KeyGenerator.getInstance("AES","BC")给出异常:java.security.NoSuchProviderException: JCE cannot authenticate the provider BCat javax.crypto.SunJCE_b.a(Das...

weixin_36074841的博客 1207

hids Elastic Security 系列1-Elastic Security介绍

Elastic Security安全是在 Elastic Stack 上构建对所有人的统一保护。Elastic Security 使分析人员能够预防,检测和响应威胁。 这个免费开放的解决方案可提供 SIEM,端点安全,威胁搜寻,云监视等功能。 Elastic Security 将 SIEM 威胁检测功能与端点预防和响应功能结合在一个解决方案中。这些分析和保护功能,利用 Elasticsearch 的速度和可扩展性,使分析师能够在损害和损失发生之前保护他们的组织免受威胁。

煜铭2011 2587

java程序调用provide时报“JCE cannot authenticate the provider *JCE”错误

报错如下图网上百度了许多,首先相关的错误很少,有几个试了也不行。重新安装jdk后就好了,但是第二天还是报错,说明还是环境的问题,最后用的是jdk下的jre就好了。...

keep12moving的博客 1471

Spring Security配置详细

Spring Security 是一个功能强大且高度可定制的身份验证和访问控制框架,专为基于Spring的应用程序设计。本教程将指导你如何在一个简单的Spring Boot应用程序中集成Spring Security,以实现基本的用户认证和授权功能。

2401_83447580的博客 2537

从轴承润滑到代码实现:手把手教你用Python FDM求解稳态雷诺方程

本文详细介绍了如何用Python FDM(有限差分法)求解稳态雷诺方程,从轴承润滑理论到代码实现的全过程。通过构建无量纲方程、有限差分格式和迭代求解算法,开发者可以快速实现专业级润滑分析,应用于涡轮发电机、汽车曲轴等场景。文章还提供了完整的Python代码示例和结果可视化方法,帮助工程师优化轴承设计。

weixin_28689507的博客 122

JAVA加密--JCA、JCE、CSP概念、体系架构与使用示例

讲解JCA、JCE、CSP概念及JCA的体系架构,并以MD5加密,演示如何基于JCA进行数据加密

penriver的博客 6879

深入GSConv代码:逐行解析这个混合了标准卷积与深度可分离卷积的‘新算子’

本文深入解析GSConv代码,详细介绍了这个混合标准卷积与深度可分离卷积的‘新算子’的设计哲学与实现框架。通过PyTorch代码逐行分析,揭示GSConv如何在轻量级卷积神经网络中平衡计算效率与特征表达能力,特别适用于Slim-Neck架构,显著降低计算量同时保持高精度。

weixin_29860267的博客 322

spring security reactive获取security context

序 本文主要研究下reactive模式下的spring security context的获取。 ReactiveSecurityContextHolder springboot2支持了webflux的异步模式,那么传统的基于threadlocal的SecurityContextHolder就不管用了。spring security5.x也支持了reactive方式,这里就需要使用reactiv...

weixin_33827965的博客 2828

单相PWM整流器的数学模型、工作原理

单相PWM整流器的数学模型、工作原理

weixin_58670090的博客 1万+

避坑指南:Vue调用摄像头常见6大报错解决方案(navigator.mediaDevices全兼容方案)

本文深入剖析了在Vue应用中调用摄像头时常见的六大报错,如权限拒绝、设备未找到等,并提供了基于navigator.mediaDevices的全兼容解决方案。内容涵盖从HTTPS环境配置、浏览器兼容性处理到摄像头资源管理与高级错误处理,旨在帮助开发者构建稳定可靠的企业级摄像头应用。

Black的专栏 341

Electron Security Warning (Insecure Content-Security-Policy) 告警解决

Electron Security Warning (Insecure Content-Security-Policy) 告警解决 Electron的Console控制台出现如下告警时: 是安全策略的设置告警,意思是内容安全策略没有设置,或者使用了unsafe-eval的安全设置。如果想要不出现上述告警,有两种方式。 方式一:index.html文件里设置安全策略 在HTML主文件的头部引入安全策略的设置,采用如下"unsafe"设置,Electron的控制台就不会显示告警了: <meta http

Pegasus的软件博客 2万+

Linux 下 OpenClaw 安装全记录:从零到一的保姆级图文教程

本文主要介绍了Linux 下 OpenClaw 安装全记录:从零到一的保姆级图文教程,希望能对学习使用OpenClaw 的同学们有所帮助。 文章目录 1. 背景 2. 实战教程 2.1 步骤一 安装Node.js 2.2 步骤二:安装git 2.3 步骤三:安装并配置OpenClaw 2.4 步骤四:配置OpenClaw 2.5 步骤五:配置模型 2.6 步骤六:对话 3. 后续使用步骤 4. 报错解决方案 5. OpenClaw的卸载

weixin_43178406的博客 10万+

spring security实现传参

本人现在开发的项目中用到了spring security,但只能传递两个

brushli的专栏 5501

【论文解读】Baidu Apollo EM Motion Planner

系统顶层是一种多车道策略,通过并行计算车道级别轨迹来处理车道变更场景;在车道轨迹生成器内部,迭代的解决基于Frenet坐标的路径和速度规划;针对路径和速度规划问题,提出了动态规划与基于样条的二次规划相结合的方法,构造了一个可扩展且易于调整的框架,同时处理交通规则、障碍物决策和平滑度问题。该规划器可扩展至高速公路和城市低速驾驶场景。高精地图模块提供了任何人都可以访问的高精地图。感知和定位模块提供了动态环境中必要的信息。运动规划模块考虑生成一条安全平滑的轨迹再交由汽车的控制模块去执行。

xiewf的博客 6095

从自然语言到PCB设计:DeepSeek与Altium协同自动化实战指南

摘要:在电子设计领域,将自然语言需求转化为PCB设计图是实现自动化设计的重要目标。受限于当前NLP和EDA技术,通过DeepSeek直接生成完整PCB设计图尚无法实现,但在设计辅助环节已展现实用价值。本文深入分析技术可行性,提出"自然语言→设计约束→脚本生成→人工验证"的人机协同工作流。通过28个完整代码示例、12张技术图表及5个工程案例,详细展示DeepSeek解析需求、生成设计约束,并结合Altium Designer API实现元件放置、规则设置、DRC校验的全流程。

专注于人工智能、软件开发、工控自动化、工厂数字化及智能化等领域,希望和大家共同进步! 1769

Spring Cloud Security

发博词Spring Cloud Security一共有两个starter: org.springframework.cloud spring-cloud-starter-oauth2 org.s

来啊 快活啊 1万+

ROS2 Nav2 - 模型预测路径积分控制器(MPPI)

这是一个预测控制器(局部轨迹规划器),用于实现模型预测路径积分(MPPI)算法,以跟踪具有自适应避障功能的路径。它包含基于插件的 critic 函数,可影响算法的行为。它由 Aleksei Budyakov 创建,由 Steve Macenski 为 Nav2 进行改编和开发。该插件实现了 nav2_core::Controller(控制器)接口,可在整个导航堆栈中作为控制器服务器的动作服务器(controller_server)中的局部轨迹规划器使用。据测定,该控制器可在中等英特尔处理器(第四代 i5)上

机器人控制与仿真应用 3914

spring security4 security="none"小讲

在学习spring security4时,参考文档,spring-security.xml有如下片段: http pattern="/resources/**" security="none" /> http pattern="/login" security="none"/> http auto-config="true" use-expressions="true

Chenctrl的博客 8008

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

页面获取Spring Security登录用户

1.在session中取得spring security的登录用户名如下: [html] view plain copy ${session.SPRING_SECURITY_CONTEXT.authentication.principal.username}          spring security 把SPRING_SECURITY_C

D的博客 4365

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

Spring Security源码分析十五:Spring Security 页面权限控制

Spring Security是一个能够为基于Spring的企业应用系统提供声明式的安全访问控制解决方案的安全框架。它提供了一组可以在Spring应用上下文中配置的Bean,充分利用了Spring IoC,DI(控制反转Inversion of Control ,DI:Dependency Injection 依赖注入)和AOP(面向切面编程)功能,为应用系统提供声明式的安全访问控制功能,减少了为企

郑龙飞 6090

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

上一篇: J2EE 蓝图摘要七——J2EE应用程序中的Enterprise Bean
下一篇: J2EE 蓝图摘要八——宠物商店应用程序
java169
博客等级 码龄19年 27粉丝 2568原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值