【Spring Boot】01
【Spring Boot】01
一、环境搭建1、创建一个spring boot项目,导入web依赖2、导入thymeleaf依赖代码语言:javascript代码运行次数:0运行复制 <!--thymeleaf-->
<dependency>
<groupId>org.springframework.boo
【Spring Boot】01
1、创建一个spring boot项目,导入web依赖
2、导入thymeleaf依赖
代码语言:javascript代码运行次数:0运行复制 <!--thymeleaf-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
<dependency>
<groupId></groupId>
<artifactId>thymeleaf-extras-java8time</artifactId>
</dependency>
、在templates文件夹新建一个index.html页面
代码语言:javascript代码运行次数:0运行复制<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<h1>首页</h1>
</body>
</html>
4、创建MyController类
代码语言:javascript代码运行次数:0运行复制package com.;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
@Controller
public class MyController {
@RequestMapping({"/","/index"})
public String toIndex(Model model){
model.addAttribute("msg","Hello Shiro!");
return "index";
}
}
5、修改index.html页面
代码语言:javascript代码运行次数:0运行复制<!DOCTYPE html>
<html lang="en" xmlns:th=";>
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<h1>首页</h1>
<p th:text="${msg}"></p>
</body>
</html>
6、运行测试结果
至此,我们的环境搭建完毕!
1、导入shiro整合springboot的包
代码语言:javascript代码运行次数:0运行复制<?xml version="1.0" encoding="UTF-8"?>
<project xmlns=".0.0" xmlns:xsi=";
xsi:schemaLocation=".0.0 .0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2..4.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.zibo</groupId>
<artifactId>shiro_spring_boot</artifactId>
<version>0.0.1-SAPSHOT</version>
<name>shiro_spring_boot</name>
<description>Demo project for Spring Boot</description>
<properties>
<java.version>1.8</java.version>
</properties>
<dependencies>
<!--
Subject:用户
SecurityManager:管理所有用户
Realm:连接数据
-->
<!--导入shiro整合springboot的包-->
<dependency>
<groupId>org.apache.shiro</groupId>
<artifactId>shiro-spring-boot-web-starter</artifactId>
<version>1.6.0</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
<exclusi>
<exclusion>
<groupId>org.junit.vintage</groupId>
<artifactId>junit-vintage-engine</artifactId>
</exclusion>
</exclusi>
</dependency>
<!--thymeleaf-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
<dependency>
<groupId></groupId>
<artifactId>thymeleaf-extras-java8time</artifactId>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
2、编写配置类
第一步:先创建一个自定义的AccountRealm
代码语言:javascript代码运行次数:0运行复制package com.;
import org.apache.shiro.authc.AuthenticationException;
import org.apache.shiro.authc.AuthenticationInfo;
import org.apache.shiro.authc.AuthenticationToken;
import org.apache.shiro.authz.AuthorizationInfo;
import org.apache.shiro.realm.AuthorizingRealm;
import org.apache.shiro.subject.PrincipalCollection;
//自定义的AccountRealm,需要继承AuthorizingRealm
public class AccountRealm extends AuthorizingRealm {
//授权
@Override
protected AuthorizationInfo doGetAuthorizationInfo(PrincipalCollection principalCollection) {
println("执行了授权方法doGetAuthorizationInfo!");
return null;
}
//认证
@Override
protected AuthenticationInfo doGetAuthenticationInfo(AuthenticationToken authenticationToken) throws AuthenticationException {
println("执行了认证方法doGetAuthenticationInfo!");
return null;
}
}
第二步:编写配置类
代码语言:javascript代码运行次数:0运行复制package com.;
import com.sun.apache.regexp.internal.RE;
import org.apache.shiro.spring.web.ShiroFilterFactoryBean;
import org.apache.shiro.DefaultWebSecurityManager;
import org.springframework.beans.factory.annotation.Qualifier;
import org.annotation.Bean;
import org.annotation.Configuration;
@Configuration
public class ShiroConfig {
//1、创建Realm对象,需要自定义
@Bean
public AccountRealm accountRealm(){
return new AccountRealm();
}
//2、DefaultWebSecurityManager
@Bean(name = "securityManager")
public DefaultWebSecurityManager getDefaultWebSecurityManager(@Qualifier("accountRealm")AccountRealm accountRealm){
DefaultWebSecurityManager manager = new DefaultWebSecurityManager();
//关联accountRealm
manager.setRealm(accountRealm);
return manager;
}
//、ShiroFilterFactoryBean
@Bean
public ShiroFilterFactoryBean getShiroFilterFactoryBean(@Qualifier("securityManager")DefaultWebSecurityManager manager){
ShiroFilterFactoryBean bean = new ShiroFilterFactoryBean();
//设置安全管理器
bean.setSecurityManager(manager);
return bean;
}
}
、新建页面
第一步:新建add.html页面
代码语言:javascript代码运行次数:0运行复制<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<H1>添加账户</H1>
</body>
</html>
第二步:新建update.html页面
代码语言:javascript代码运行次数:0运行复制<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<H1>更新账户</H1>
</body>
</html>
4、修改MyController类
代码语言:javascript代码运行次数:0运行复制package com.;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
@Controller
public class MyController {
@RequestMapping({"/","/index"})
public String toIndex(Model model){
model.addAttribute("msg","Hello Shiro!");
return "index";
}
@RequestMapping("/account/add")
public String add(){
return "account/add";
}
@RequestMapping("/account/update")
public String update(){
return "account/update";
}
}
5、运行测试结果
首页:
add页面:
update页面:
#感谢您对电脑配置推荐网 - 最新i3 i5 i7组装电脑配置单推荐报价格的认可,转载请说明来源于"电脑配置推荐网 - 最新i3 i5 i7组装电脑配置单推荐报价格
上传时间: 2025-07-23 13:07:37
上一篇:【Spring Boot】014
下一篇:【Spring Boot】012
推荐阅读
留言与评论(共有 14 条评论) |
本站网友 腊八蒜的功效 | 25分钟前 发表 |
运行测试结果首页:add页面:update页面:本文参与 腾讯云自媒体同步曝光计划 | |
本站网友 彼得潘与辛德瑞拉 | 22分钟前 发表 |
运行测试结果首页:add页面:update页面:本文参与 腾讯云自媒体同步曝光计划 | |
本站网友 韩树明 | 28分钟前 发表 |
运行测试结果首页:add页面:update页面:本文参与 腾讯云自媒体同步曝光计划 | |
本站网友 婴儿哭闹的原因 | 8分钟前 发表 |
创建Realm对象 | |
本站网友 对对对 | 18分钟前 发表 |
schemaLocation=".0.0 .0.0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2..4.RELEASE</version> <relativePath/> <!-- lookup parent from repository --> </parent> <groupId>com.zibo</groupId> <artifactId>shiro_spring_boot</artifactId> <version>0.0.1-SAPSHOT</version> <name>shiro_spring_boot</name> <description>Demo project for Spring Boot</description> <properties> <java.version>1.8</java.version> </properties> <dependencies> <!-- Subject:用户 SecurityManager:管理所有用户 Realm:连接数据 --> <!--导入shiro整合springboot的包--> <dependency> <groupId>org.apache.shiro</groupId> <artifactId>shiro-spring-boot-web-starter</artifactId> <version>1.6.0</version> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> <exclusi> <exclusion> <groupId>org.junit.vintage</groupId> <artifactId>junit-vintage-engine</artifactId> </exclusion> </exclusi> </dependency> <!--thymeleaf--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-thymeleaf</artifactId> </dependency> <dependency> <groupId></groupId> <artifactId>thymeleaf-extras-java8time</artifactId> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build> </project>2 | |
本站网友 紫玫瑰代表什么 | 28分钟前 发表 |
"Hello Shiro!"); return "index"; } @RequestMapping("/account/add") public String add(){ return "account/add"; } @RequestMapping("/account/update") public String update(){ return "account/update"; } }5 | |
本站网友 石家庄无痛人流 | 18分钟前 发表 |
修改index.html页面代码语言:javascript代码运行次数:0运行复制<!DOCTYPE html> <html lang="en" xmlns | |
本站网友 菲律宾美食 | 21分钟前 发表 |
需要继承AuthorizingRealm public class AccountRealm extends AuthorizingRealm { //授权 @Override protected AuthorizationInfo doGetAuthorizationInfo(PrincipalCollection principalCollection) { println("执行了授权方法doGetAuthorizationInfo!"); return null; } //认证 @Override protected AuthenticationInfo doGetAuthenticationInfo(AuthenticationToken authenticationToken) throws AuthenticationException { println("执行了认证方法doGetAuthenticationInfo!"); return null; } }第二步:编写配置类代码语言:javascript代码运行次数:0运行复制package com.; import com.sun.apache.regexp.internal.RE; import org.apache.shiro.spring.web.ShiroFilterFactoryBean; import org.apache.shiro.DefaultWebSecurityManager; import org.springframework.beans.factory.annotation.Qualifier; import org.annotation.Bean; import org.annotation.Configuration; @Configuration public class ShiroConfig { //1 | |
本站网友 阿那曲唑 | 6分钟前 发表 |
需要继承AuthorizingRealm public class AccountRealm extends AuthorizingRealm { //授权 @Override protected AuthorizationInfo doGetAuthorizationInfo(PrincipalCollection principalCollection) { println("执行了授权方法doGetAuthorizationInfo!"); return null; } //认证 @Override protected AuthenticationInfo doGetAuthenticationInfo(AuthenticationToken authenticationToken) throws AuthenticationException { println("执行了认证方法doGetAuthenticationInfo!"); return null; } }第二步:编写配置类代码语言:javascript代码运行次数:0运行复制package com.; import com.sun.apache.regexp.internal.RE; import org.apache.shiro.spring.web.ShiroFilterFactoryBean; import org.apache.shiro.DefaultWebSecurityManager; import org.springframework.beans.factory.annotation.Qualifier; import org.annotation.Bean; import org.annotation.Configuration; @Configuration public class ShiroConfig { //1 | |
本站网友 上书房 | 21分钟前 发表 |
运行测试结果首页:add页面:update页面:本文参与 腾讯云自媒体同步曝光计划 | |
本站网友 两会日程 | 16分钟前 发表 |
新建页面第一步:新建add.html页面代码语言:javascript代码运行次数:0运行复制<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> <H1>添加账户</H1> </body> </html>第二步:新建update.html页面代码语言:javascript代码运行次数:0运行复制<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> <H1>更新账户</H1> </body> </html>4 | |
本站网友 长胡子 | 30分钟前 发表 |
环境搭建1 | |
本站网友 美白祛斑面膜怎么做 | 20分钟前 发表 |
DefaultWebSecurityManager @Bean(name = "securityManager") public DefaultWebSecurityManager getDefaultWebSecurityManager(@Qualifier("accountRealm")AccountRealm accountRealm){ DefaultWebSecurityManager manager = new DefaultWebSecurityManager(); //关联accountRealm manager.setRealm(accountRealm); return manager; } // |