在正式笔之 前先来思考如何将java 的包打包成jar 包同,运行时指定配置,这样运行,

以上问题有空在来研究,有空在来补这个文档

首先呢,先来说说Session 怎么使用,这个在sping boot 很简单 ,就是通过属性来操作获取和设置

session 使用

import javax.servlet.http.HttpSession;

// ...

@PostMapping("/login")
public String login(@RequestParam String username, @RequestParam String password, HttpSession session) {
// 假设验证了用户名和密码
if (isValidUser(username, password)) {
// 将用户信息存入Session
session.setAttribute("user", username);
return "redirect:/home";
} else {
return "login";
}
} @GetMapping("/home")
public String home(HttpSession session, Model model) {
// 从Session中获取用户信息
String username = (String) session.getAttribute("user");
if (username != null) {
model.addAttribute("username", username);
return "home";
} else {
return "redirect:/login";
}
} 

session 也可以结合本地缓存

spring:
session:
store-type: redis
redis:
host: localhost
port: 6379 然后用redis 来记录 session @GetMapping("/setSessionId")
public String setSessionId(HttpSession session, HttpServletResponse response) {
// 生成一个新的Session ID
session.invalidate();
session = request.getSession(true); // 将新的Session ID发送给客户端(这里通过响应头)
response.setHeader("X-Session-Id", session.getId()); return "setSessionId";
} @GetMapping("/getSessionId")
public String getSessionId(@RequestHeader(value = "X-Session-Id", required = false) String sessionId, Model model) {
if (sessionId != null) {
// 使用Session ID从服务器获取Session
HttpSession session = request.getSession(false);
if (session != null && session.getId().equals(sessionId)) {
model.addAttribute("sessionId", sessionId);
return "getSessionId";
}
}
return "error";
}

  

jwt  使用   首先这个也是一个依融包,先导入后增加一个配置,然后配置挡截器类

这个先略,稍后总结

Spring Boot 中集成 Spring Security 进行基本的身份认证

如果我们是用idea 新建的springboot 一开始就勾选了  Spring Security 。那么在构建时idea 会帮我做一些默认配置,

所以一登陆就开始认证了,新增一下用户名为user   密码在控制显示是一个uuid 当然呢我们更想自己配置细节

$ecurityProperties
初始化配置,配置了默认的用户名(user)和密码(uuid)。在application.properties中配置自定义用户名和密码。
例如:
spring.security.user.name=myusername
spring.security.user.password=mypassword

  

配置路径上下文
server.servlet.context-path=/myapp

 

通过内存来管理

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.security.core.userdetails.User;
import org.springframework.security.core.userdetails.UserDetailsService;
import org.springframework.security.provisioning.InMemoryUserDetailsManager; @Configuration
public class WebSecurityConfig { @Bean
public UserDetailsService userDetailsService() {
// 创建基于内存的用户信息管理器
InMemoryUserDetailsManager manager = new InMemoryUserDetailsManager();
manager.createUser(User.withDefaultPasswordEncoder().username("user").password("password").roles("USER").build());
return manager;
}
}

java spring boot 权限认证总结瞎记一通,各种 方案。附近如何运行jar包。和如何读配文件的更多相关文章

  1. Java Spring Boot VS .NetCore (九) Spring Security vs .NetCore Security

    Java Spring Boot VS .NetCore (一)来一个简单的 Hello World Java Spring Boot VS .NetCore (二)实现一个过滤器Filter Jav ...

  2. 从零一起学Spring Boot之LayIM项目长成记(五)websocket

    前言 距离上一篇已经比较久的时间了,项目也是开了个头.并且,由于网上的关于Spring Boot的websocket讲解也比较多.于是我采用了另外的一个通讯框架 t-io 来实现LayIM中的通讯功能 ...

  3. 从零一起学Spring Boot之LayIM项目长成记(四) Spring Boot JPA 深入了解

    前言 本篇内容主要是一些关于JPA的常用的一些用法等.内容也是很多是看其他博客学来的,顺道在本系列博客里抽出一篇作为总结.下面让我们来看看吧. 不过我更推荐大家读本篇:https://lufficc. ...

  4. Java Spring Boot VS .NetCore (十一)自定义标签 Java Tag Freemarker VS .NetCore Tag TagHelper

    Java Spring Boot VS .NetCore (一)来一个简单的 Hello World Java Spring Boot VS .NetCore (二)实现一个过滤器Filter Jav ...

  5. 从零一起学Spring Boot之LayIM项目长成记(二) LayIM初体验

    前言 接上篇,已经完成了一个SpringBoot项目的基本搭建.那么现在就要考虑要做什么,怎么做的问题.所以本篇内容不多,带大家一起来简单了解一下要做的东西,之前有很多人不知道从哪里下手,那么今天我带 ...

  6. 从零一起学Spring Boot之LayIM项目长成记(一) 初见 Spring Boot

    项目背景 之前写过LayIM的.NET版后端实现,后来又写过一版Java的.当时用的是servlet,websocket和jdbc.虽然时间过去很久了,但是仍有些同学在关注.偶然间我听说了Spring ...

  7. 从零一起学Spring Boot之LayIM项目长成记(三) 数据库的简单设计和JPA的简单使用。

    前言 今天是第三篇了,上一篇简单模拟了数据,实现了LayIM页面的数据加载.那么今天呢就要用数据库的数据了.闲言少叙,书归正传,让我们开始吧. 数据库 之前有好多小伙伴问我数据库是怎么设计的.我个人用 ...

  8. Java Spring Boot VS .NetCore (一)来一个简单的 Hello World

    系列文章 Java Spring Boot VS .NetCore (一)来一个简单的 Hello World Java Spring Boot VS .NetCore (二)实现一个过滤器Filte ...

  9. Java Spring Boot VS .NetCore (二)实现一个过滤器Filter

    Java Spring Boot VS .NetCore (一)来一个简单的 Hello World Java Spring Boot VS .NetCore (二)实现一个过滤器Filter Jav ...

  10. Java Spring Boot VS .NetCore (三)Ioc容器处理

    Java Spring Boot VS .NetCore (一)来一个简单的 Hello World Java Spring Boot VS .NetCore (二)实现一个过滤器Filter Jav ...

随机推荐

  1. 关于DateFormater

    一.关于时间的解析 let dateFormatter = DateFormatter() dateFormatter.dateFormat = "yyyy-MM-dd HH:mm:ssZ& ...

  2. containerd 源码分析:创建 container(一)

    0. 前言 Kubernetes:kubelet 源码分析之 pod 创建流程 介绍了 kubelet 创建 pod 的流程,containerd 源码分析:kubelet 和 containerd ...

  3. 算法金 | 一文读懂K均值(K-Means)聚类算法

    ​大侠幸会,在下全网同名[算法金] 0 基础转 AI 上岸,多个算法赛 Top [日更万日,让更多人享受智能乐趣] 1. 引言 数据分析中聚类算法的作用 在数据分析中,聚类算法用于发现数据集中的固有分 ...

  4. LeetCode 146. LRU CacheLRU缓存机制 (C++/Java)

    题目: Design and implement a data structure for Least Recently Used (LRU) cache. It should support the ...

  5. kettle从入门到精通 第十二课 kettle java代码过滤记录、利用Janino计算Java表达式

    1.下图通过简单的示例讲解了根据java代码过滤记录和利用Janino计算Java表达式两个组件. 2.根据java代码过滤记录 1)步骤名称:自定义 2)接收匹配的行的步骤(可选):下面条件(jav ...

  6. Vue第三方库与插件实战手册

    title: Vue第三方库与插件实战手册 date: 2024/6/8 updated: 2024/6/8 excerpt: 这篇文章介绍了如何在Vue框架中实现数据的高效验证与处理,以及如何集成E ...

  7. C#.NET Framework 使用BC库(BouncyCastle) RSA 私钥签名 公钥验签(验证签名) ver:20230704

    C#.NET Framework 使用BC库(BouncyCastle) RSA 私钥签名 公钥验签(验证签名) ver:20230704 环境说明: .NET Framework 4.6 的控制台程 ...

  8. nginx虚拟主机实战

    基于nginx部署网站 虚拟主机指的就是一个独立的站点,具有独立的域名,有完整的www服务,例如网站.FTP.邮件等. Nginx支持多虚拟主机,在一台机器上可以运行完全独立的多个站点. 一.为什么配 ...

  9. Spring扩展——BeanFactoryPostProcessor(BFPP)

    引言 在Spring中BeanFactoryPostProcessor(后面使用简写BFPP),作为容器启动过程的对容器进行修改操作的Bean对象,是Spring框架对外提供的核心扩展点之一,Spri ...

  10. CloseableHttpClient 连接超时导致XxlJob调度阻塞,影响调度任务的执行

    CloseableHttpClient 连接超时导致XxlJob调度阻塞,影响调度任务的执行 问题原因1.分析日志发现,xxlJob后台界面没有执行时间和执行结果,在某一个时间点之后,某一个任务因为阻 ...