shiro

SSM整合

匿名 (未验证) 提交于 2019-12-02 23:47:01
  Spring和整合实际上最大的特点就是可以交由Spring实现shiro的管理控制,实际上这种整合才属于新一代的SSM开发框架整合(Spring+Shiro+MyBatis)。   SSH:Spring + Struts + Hibernate,但是后来Struts框架没落了;   SSM一代:Spring + SpringMVC + MyBatis,SpringMVC本来就属于Spring的一部分;   SSM二代:Spring + Shiro + MyBatis; 一、Spring整合Shiro:   1. 修改pom.xml配置文件,引入Shiro与Spring要整合的依赖库: <dependency> <groupId>org.apache.shiro</groupId> <artifactId>shiro-spring</artifactId></dependency><dependency> <groupId>org.apache.shiro</groupId> <artifactId>shiro-web</artifactId></dependency><dependency> <groupId>org.apache.shiro</groupId> <artifactId>shiro-core</artifactId></dependency> 2. 修改web

shiro在web项目中实现认证

匿名 (未验证) 提交于 2019-12-02 23:43:01
在web项目pom.xml文件中导入jar包 <!--shiro安全框架jar包--> < dependency > < groupId > commons-logging </ groupId > < artifactId > commons-logging </ artifactId > < version > 1.1.1 </ version > </ dependency > <!--导入shiro的核心包--> < dependency > < groupId > org.apache.shiro </ groupId > < artifactId > shiro-core </ artifactId > < version > 1.2.3 </ version > </ dependency > <!--导入shiro和spring集成的jar包--> < dependency > < groupId > org.apache.shiro </ groupId > < artifactId > shiro-spring </ artifactId > < version > 1.3.2 </ version > </ dependency > <!--导入shiro的web开发支持的jar包--> < dependency > < groupId > org

Shiro原理

匿名 (未验证) 提交于 2019-12-02 23:43:01
功能简介 Authentication:身份认证/登录,验证用户是不是拥有相应的身份; Authorization:授权,及权限验证,验证某个已认证的用户是否是拥有某个权限;即判断用户是否能进行什么操作,如:验证用户是否拥有某个角色。或者细粒度的验证某个用户对某个资源是否具有某个权限; Session Manager:会话管理,即用户登录后就是一次会话,在没有退出之前,他的所有信息都在会话中;会话可以是普通JavaSe、环境,也可以是Web环境。 Cryptography:加密,保护疏忽的安全性,如密码加密存储到数据库,而不是明文存储; Web Support:Web支持。可以非常容易的继承到Web环境; Caching:缓存,比如用户登录后,其用户信息,用户的角色全新不必每次去查数据库,这样可以提高效率。 Concurrency:Shiro支持多线程应用的并发验证,即如在一个线程中开启;另一个线程,能把权限自动传播出去。 Testing:提供测试支持。 Run As:允许一个用户假装为另一个用户的身份进行访问; Remember Me:记住我,这是非常常见的功能,即一次登录后,下次再来的话不用登录了; 简介 Apache Shiro 是Java的一个安全(权限)框架 Shiro 可以非常容易的开发出足够好的应用,起步筋可以用在JavaSE环境,也可以用在Web环境下。 Shiro

SpringBoot--集成Shiro

a 夏天 提交于 2019-12-02 23:33:33
  shiro主要有用户认证和用户授权两个功能 一、用户认证 1、导入依赖 <dependency> <groupId>org.apache.shiro</groupId> <artifactId>shiro-spring</artifactId> <version>1.4.0</version> </dependency> 2、新增测试页面   新增测试页面:     login.html(登陆页面)、index.html(登陆成功页面)、error.html (无权限页面)、add.html(添加页面)、update.html(修改页面) <!DOCTYPE html> <html lang="en" xmlns:th="http://www.w3.org/1999/xhtml"> <head> <meta charset="UTF-8"> <title>登录页面</title> </head> <body> <h1>登录页面</h1> <hr/> <h3 th:text="${msg}" style="color: red"></h3> <form method="post" action="login"> 用户名 :<input type="text" name="username"><br> 密 码 :<input type="password" name=

【Shiro】SpringBoot整合Shiro

匿名 (未验证) 提交于 2019-12-02 23:32:01
Shiro的核心API Subject:用户主题(把操作交给SecurityManager) SecurityManager:安全管理器(关联Realm) Realm:Shiro连接数据的桥梁 1、整合SpringBoot: pom导入jar文件:shiro-spring 2、自定义Realm类 编写自己的Realm类,实现授权与认证逻辑,继承AuthorizingRealm public class AuthRealm extends AuthorizingRealm { // 授权逻辑 @Override protected AuthorizationInfo doGetAuthorizationInfo ( PrincipalCollection principals ) { System . out . println ( "授权逻辑" ) ; // 给资源进行授权 SimpleAuthorizationInfo info = new SimpleAuthorizationInfo ( ) ; // 添加资源的授权字符串,实际从数据库拿到授权字符串 info . addStringPermissions ( "edit" ) ; // edit这个字符串必须与用户之前拦截权限时候配置的字符串一致 // 到数据库查询当前登录用户的授权字符串 // 获取当前登录用户

简单使用shiro

匿名 (未验证) 提交于 2019-12-02 23:32:01
简单使用shiro maven依赖 配置文件shiro.ini 例子 maven依赖 < dependency > < groupId > org.apache.shiro </ groupId > < artifactId > shiro-core </ artifactId > < version > 1.4.1 </ version > </ dependency > < dependency > < groupId > org.slf4j </ groupId > < artifactId > slf4j-log4j12 </ artifactId > < version > 1.7.21 </ version > </ dependency > < dependency > < groupId > log4j </ groupId > < artifactId > log4j </ artifactId > < version > 1.2.17 </ version > </ dependency > < dependency > < groupId > commons-logging </ groupId > < artifactId > commons-logging </ artifactId > < version > 1.2 </ version > </

shiro展示用户名与注销

匿名 (未验证) 提交于 2019-12-02 23:26:52
shiro展示用户名与注销 main.jsp <%@ taglib prefix=“shiro” uri=“ http://shiro.apache.org/tags ” %> … 欢迎您,亲爱的用户: 注销 LoginController @RequestMapping("/logout") public String logout(){ Subject currentUser = SecurityUtils.getSubject(); currentUser.logout(); return “redirect:/login”; } 文章来源: https://blog.csdn.net/Secutiry_/article/details/88940991

采用shiro实现登陆验证(二)

匿名 (未验证) 提交于 2019-12-02 23:03:14
5.创建Realm安全数据桥, 通过继承AuthorizingRealm的方式实现 此处只重写了 doGetAuthenticationInfo 该方法 进行登陆验证,后续再介绍授权方法 package com.weixin.shiro; import org.apache.shiro.authc.AuthenticationException; import org.apache.shiro.authc.AuthenticationInfo; import org.apache.shiro.authc.AuthenticationToken; import org.apache.shiro.authc.SimpleAuthenticationInfo; import org.apache.shiro.authc.credential.HashedCredentialsMatcher; import org.apache.shiro.authz.AuthorizationInfo; import org.apache.shiro.authz.SimpleAuthorizationInfo; import org.apache.shiro.crypto.hash.Md5Hash; import org.apache.shiro.crypto.hash.SimpleHash;

spring-boot整合shiro

匿名 (未验证) 提交于 2019-12-02 22:56:40
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/clj198606061111/article/details/82948757 概述 权限体系在现代任何IT系统中都是很基础但又非常重要的部分,无论是传统MIS系统还是互联网系统,出于保护业务数据和应用自身的安全,都会设计自己的授权鉴权策略。 最近项目中也需要用到权限验证功能,项目为spring-boot工程,现成的权限验证框架有shiro和spring-security,shiro相对spring-security来说学习难度要低一点,也是老牌成熟的产品,因此选择shiro作为项目的权限验证框架。 shiro介绍 Shiro是一个强大易用的Java安全框架,提供了认证、授权、加密和会话管理等功能。 Authentication :身份认证/登录,验证用户是不是拥有相应的身份; Authorization :授权,即权限验证,验证某个已认证的用户是否拥有某个权限;即判断用户是否能做事情,常见的如:验证某个用户是否拥有某个角色。或者细粒度的验证某个用户对某个资源是否具有某个权限; Session Manager :会话管理,即用户登录后就是一次会话,在没有退出之前,它的所有信息都在会话中;会话可以是普通JavaSE环境的,也可以是如Web环境的; Cryptography :加密

How to configure JDBCRealm to obtain its DataSource from JNDI

百般思念 提交于 2019-12-02 22:48:42
How do you use a JDBCRealm to handle authenticating and authorizing users in servlets? The only example I can find is to create the DataSource in web.xml (such as Authentication against database using shiro 1.2.1 ). I do not want to include database credentials in my source tree (for obvious reasons) and would prefer to use a Context defined DataSource via JNDI as I have for every other RDBMS I have used for any other purpose in every other servlet project I have developed. How do you configure a Shiro JDBCRealm to obtain its DataSource from JNDI? Les Hazlewood Vrushank's answer was really