当前位置: 首页 > news >正文

重庆网站建设公司的网站怎样能有个人网站

重庆网站建设公司的网站,怎样能有个人网站,云虚拟主机搭建网站,怎样创建网站信息平台1 Shiro 什么是 Shiro 官网: http://shiro.apache.org/ 是一款主流的 Java 安全框架,不依赖任何容器,可以运行在 Java SE 和 Java EE 项目中,它的主要作用是对访问系统的用户进行身份认证、 授权、会话管理、加密等操作。 …
1 Shiro
什么是 Shiro
官网: http://shiro.apache.org/
是一款主流的 Java 安全框架,不依赖任何容器,可以运行在 Java SE
Java EE 项目中,它的主要作用是对访问系统的用户进行身份认证、
授权、会话管理、加密等操作。
Shiro 就是用来解决安全管理的系统化框架。
2 Shiro 核心组件
用户、角色、权限 会给角色赋予权限,给用户赋予角色
1 UsernamePasswordToken Shiro 用来封装用户登录信息,使用 用户的登录信息来创建令牌 Token
2 SecurityManager Shiro 的核心部分,负责安全认证和授权。
3 Suject Shiro 的一个抽象概念,包含了用户信息。
4 Realm ,开发者自定义的模块,根据项目的需求,验证和授权的逻 辑全部写在 Realm 中。
5 AuthenticationInfo ,用户的角色信息集合,认证时使用。
6 AuthorzationInfo ,角色的权限信息集合,授权时使用。
7 DefaultWebSecurityManager ,安全管理器,开发者自定义的 Realm 需要注入到 DefaultWebSecurityManager 进行管理才能生 效。
8 ShiroFilterFactoryBean ,过滤器工厂, Shiro 的基本运行机制是开 发者定制规则,Shiro 去执行,具体的执行操作就是由 ShiroFilterFactoryBean 创建的一个个 Filter 对象来完成。
Shiro 的运行机制如下图所示。
3 Spring Boot 整合 Shiro
1 、创建 Spring Boot 应用,集成 Shiro 及相关组件, pom.xml
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>com.example</groupId><artifactId>springboot-shiro</artifactId><version>0.1.0</version><properties><java.version>11</java.version><spring.boot.version>2.5.4</spring.boot.version><shiro.version>1.7.1</shiro.version></properties><dependencies><!-- Spring Boot Starter Web --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId><version>${spring.boot.version}</version></dependency><!-- Shiro Starter --><dependency><groupId>org.apache.shiro</groupId><artifactId>shiro-spring-boot-starter</artifactId><version>${shiro.version}</version></dependency><!-- Other Dependencies --><!-- Add other dependencies here if needed --></dependencies><build><plugins><!-- Maven Compiler Plugin --><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-compiler-plugin</artifactId><version>3.8.1</version><configuration><source>${java.version}</source><target>${java.version}</target></configuration></plugin><!-- Spring Boot Maven Plugin --><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId><version>${spring.boot.version}</version></plugin></plugins></build></project>

2 、自定义 Shiro 过滤器
import sun.net.www.protocol.http.AuthenticationInfo;public class AccoutRealm extends AuthorizingRealm {@Autowiredprivate AccountService accountService;/*** 授权** @param principalCollection* @return*/@Overrideprotected AuthorizationInfodoGetAuthorizationInfo(PrincipalCollection principalCollection) {return null;}/*** 认证** @param authenticationToken* @return* @throws AuthenticationException*/@Overrideprotected AuthenticationInfodoGetAuthenticationInfo(AuthenticationToken authenticationToken) throws AuthenticationException {UsernamePasswordToken token = (UsernamePasswordToken) authenticationToken;Account account = accountService.findByUsername(token.getUsername());if (account != null) {return new SimpleAuthenticationInfo(account, account.getPassword(), getName());}return null;}
}
3、配置类 
@Configuration
public class ShiroConfig {
@Bean
public ShiroFilterFactoryBean
shiroFilterFactoryBean(@Qualifier("securityManager")
DefaultWebSecurityManager securityManager){
ShiroFilterFactoryBean factoryBean = new
ShiroFilterFactoryBean();
factoryBean.setSecurityManager(securityManager);
return factoryBean;
}
@Bean
public DefaultWebSecurityManager
securityManager(@Qualifier("accoutRealm") AccoutRealm
accoutRealm){
DefaultWebSecurityManager manager = new
DefaultWebSecurityManager();
manager.setRealm(accoutRealm);
return manager;
}
@Bean
public AccoutRealm accoutRealm(){
return new AccoutRealm();
}
}
编写认证和授权规则:
认证过滤器 anon :无需认证。
authc :必须认证。
authcBasic :需要通过 HTTPBasic 认证。
user :不一定通过认证,只要曾经被 Shiro 记录即可,比如:记住我。
授权过滤器
perms :必须拥有某个权限才能访问。
role :必须拥有某个角色才能访问。
port :请求的端口必须是指定值才可以。
rest :请求必须基于 RESTful POST PUT GET DELETE
ssl :必须是安全的 URL 请求,协议 HTTPS
创建 3 个页面, main.html manage.html administrator.html
访问权限如下:
1 、必须登录才能访问 main.html
2 、当前用户必须拥有 manage 授权才能访问 manage.html
3 、当前用户必须拥有 administrator 角色才能访问
administrator.html
Shiro 整合 Thymeleaf
1 pom.xml 引入依赖
<dependency>
<groupId> com.github.theborakompanioni </groupId>
<artifactId> thymeleaf-extras-shiro </artifactId>
<version> 2.0.0 </version>
</dependency>
2 、配置类添加 ShiroDialect
@Bean
public ShiroDialect shiroDialect (){
return new ShiroDialect ();
}
3 index.html
<!DOCTYPE html>
<html lang = "en" xmlns:th = "http://www.thymeleaf.org"
xmlns:shiro = "http://www.thymeleaf.org/thymeleaf-extras
shiro" >
<head>
<meta charset = "UTF-8" >
<title> Title </title>
<link rel = "shortcut icon" href = "#" />
</head>
<body>
<h1> index </h1>
<div th:if = "${session.account != null}" >
<span th:text = "${session.account.username}+'
迎回来! '" ></span><a href = "/logout" > 退出 </a>
</div>
<a href = "/main" > main </a> <br/>
<div shiro:hasPermission = "manage" >
<a href = "manage" > manage </a> <br/>
</div>
<div shiro:hasRole = "administrator" >
<a href = "/administrator" > administrator </a>
</div>
</body> </html>
数据库
http://www.yayakq.cn/news/579632/

相关文章:

  • 网站开发技术项目式教程淘宝开店铺网站怎么做
  • 江宁区建设工程局网站进不去湖州 网站建设公司
  • 网站的登录功能一般是用cookie做的seo关键字优化价格
  • 建材公司网站建设方案优秀室内设计案例
  • 广州专业做网站公司网站被主流搜索引擎收录的网页数量
  • 阿里云网站郑州网站建设+论坛
  • 个人工作室网站模板网站推广内容
  • 博客系统做网站手机上如何制作app
  • 湛江免费建站哪里有猪八戒网仿照哪个网站做的
  • 全国兼职网站建设wordpress七牛云缓存插件
  • 做窗帘的网站高端网站建设公司服务好吗
  • 做汽车的网站编辑为什么wordpress不能更新文章
  • 品牌网站建设策wordpress导入菜单
  • 做任务免费得晋江币网站免费行情app
  • app网站建设公司资阳市网站建设
  • 成都建设银行分行招聘网站潮州营销型网站建设推广
  • 海口网站排名提升商城网站的seo优化改怎么做
  • php网站开发实例教程 源码网站服务器的重要性
  • 建外做网站的公司传奇游戏网站
  • 成都seo网站建设wordpress 外链 图片
  • 化妆品网站建设方案响水网站设计
  • 天水网站建设公司seo移动端排名优化
  • 网站主导航设置问题深圳市建设工程交易中心官网首页
  • 百度网站打开德州有名的网站建设公司
  • 网站图片怎么换十堰网站建设有哪些公司
  • 无锡网站制作选哪家外贸公司代理注册
  • 关于网站建设的可行性报告网站页面格式
  • 相同网站名网站开发掌握哪种语言
  • 网上购物网站建设公司电影网站盗链怎么做
  • 济南川芎网站建设做网站首选智投未来1