博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Apache Shiro简单示例
阅读量:6859 次
发布时间:2019-06-26

本文共 3397 字,大约阅读时间需要 11 分钟。

hot3.png

        1、新建一个Maven的war工程,并在pom.xml中增加如下依赖。

 
org.springframework
 
spring-web
 
4.0.9.RELEASE
 
org.apache.shiro
 
shiro-spring
 
1.2.3
 
javax.servlet
 
javax.servlet-api
 
3.1.0
 
org.apache.shiro
 
shiro-quartz
 
1.2.3
 
commons-collections
 
commons-collections
 
3.2.1
 
javax.servlet.jsp
 
jsp-api
 
2.2

         2、在web.xml中增加如下内容。

 
contextConfigLocation
 
classpath:spring-core.xml
 
org.springframework.web.context.ContextLoaderListener
 
shiroFilter
 
org.springframework.web.filter.DelegatingFilterProxy
 
true
 
  
targetFilterLifecycle
  
true
 
 
shiroFilter
 
/*

        3、新增两个页面,分别为login.jsp和index.jsp,主要用于展示登录界面和主界面。

        login.jsp

<%@page language="java" pageEncoding="UTF-8"%>shiro-spring登录页面 
${error} 
  用户名:
 密码:
  
登录 

        index.jsp

<%@page language="java" pageEncoding="UTF-8"%><%@taglib prefix="shiro" uri="http://shiro.apache.org/tags"%>shiro-spring欢迎页面 
  欢迎游客访问,
点击登录
 
 
  欢迎[
]登录,
点击退出
 

        4、新增一个UserRealm类,用于实现用户登录操作的相关校验。这里为了简化,写死了用户名、密码和盐值。用户名:admin,密码:123456

package org.cloud.shiro.realm;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.authz.AuthorizationInfo;import org.apache.shiro.realm.AuthorizingRealm;import org.apache.shiro.subject.PrincipalCollection;import org.apache.shiro.util.ByteSource;public class UserRealm extends AuthorizingRealm{ protected AuthorizationInfo doGetAuthorizationInfo(PrincipalCollection principals) {  return null; } protected AuthenticationInfo doGetAuthenticationInfo(AuthenticationToken token) throws AuthenticationException {  String username=(String) token.getPrincipal();  SimpleAuthenticationInfo authenticationInfo=new SimpleAuthenticationInfo(username,"123456",ByteSource.Util.bytes(username+"8d78869f470951332959580424d4bf4f"),getName());  return authenticationInfo; }}

        5、新增spring-core.xml文件,主要用于shiro的配置。注意其中需要配置上面所编写的UserRealm类。

 
 
 
 
 
 
  
  
  
  
 
  
  
  
 
  
  
  
 
  
  
  
  
  
  
  
  
 
  
  
  
  
  
  
  
  
  
  
   
    
   
    
   
    /login.jsp = authc    /logout = logout    /** = user   
    
 

        6、启动项目后,访问login.jsp后,会显示登录界面,输入用户名和密码后,可以进入到index.jsp页面。当然点击退出按钮后,返回至登录页面中。如果未登录系统,在地址栏中直接访问index.jsp是会被返回至登录页面中的。

        到此,一个简单的shiro示例就搭建完成,大家可以根据项目的实际需要扩展内容。本文主要简单列举了一下shiro的示例,主要为shiro的首次学习者做一个开场示例,若要深入掌握shiro,还需自己多学习,多实践。

转载于:https://my.oschina.net/zhaoyun1985/blog/477565

你可能感兴趣的文章
区块链数字资产交易系统的种类,源中瑞小六说
查看>>
JavaScript中的浅拷贝与深拷贝
查看>>
Spring Boot RabbitMQ系列之基础概念
查看>>
探讨奇技淫巧
查看>>
8 个给前端的顶级 VS Code 扩展插件
查看>>
DIGEST认证
查看>>
2018年阿里云NoSQL数据库大事盘点
查看>>
mysql中int、bigint、smallint 和 tinyint的区别详细介绍
查看>>
如何查看一个网址(域名)是否做了301跳转
查看>>
seekbar 相关
查看>>
mongoDB
查看>>
java B2B2C springmvc mybatis仿淘宝电子商城系统-整合企业架构的技术点
查看>>
我的友情链接
查看>>
我的友情链接
查看>>
centos批量修改文件名
查看>>
Struts 自己的总结报告
查看>>
急是没有用的
查看>>
AT&T汇编学习笔记(一)
查看>>
IBM专家集成系统讲究预置能力 打造开放的云
查看>>
开源日志系统比较
查看>>