码迷,mamicode.com
首页 > 其他好文 > 详细

shiro安全框架

时间:2019-09-12 23:29:31      阅读:113      评论:0      收藏:0      [点我收藏+]

标签:jstl   内容   das   ini   工作原理   back   iss   技术   认证   

安全问题

  1. 如何登录(登录验证)
  2. 权限管理(请求地址过滤)
  3. 页面内容的权限过滤(标签库)

 

Shiro简介

Apache shiro是一个强大且易用的JAVA安全框架通过shiro提供的api可以非常容易的程序中的认证登录验证),授权根据不同的用户配置不同的权限,加密(MD5不可逆的加密),和session管理等功能。

包括小型移动应用,大型WEB应用、企业级应用(OAERP)。

 

Shiro的工作原理

在过滤器基础上进行封装,通过配置文件,注解和标签(类似jstl)实现了一套功能非常强大的权限管理框架

 

核心概念(核心组件)

  Subject主体 —— session中的User对象 

  SecurityManger 安全管理——保安队长

  SessionManager 管理session  

  AuthorizingRealm 授权领域 (负责认证和授权)

  CacheManager 缓存

  RememberMeManager 记住密码的功能(不推荐使用)

 

Shiro的使用

  1. 使用shiro.ini 管理用户、角色、权限

 

标签库(<%@ taglib prefix="shiro" uri="http://shiro.apache.org/tags" %>

<%@ taglib prefix="shiro" uri="http://shiro.apache.org/tags" %>
<%--
  Created by IntelliJ IDEA.
  User: DELL
  Date: 2019/8/28
  Time: 16:04
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Title</title>
</head>
<body>
<%--                     property="userName"--%>
<div>你好! <shiro:principal></shiro:principal></div>

<div>登录可得</div>
<div>
    <h2>需要角色才能访问内容</h2>
    <shiro:hasRole name="admin">
        该内容只限admin角色才能查看
        <a href="#">删除</a>
    </shiro:hasRole>

    <shiro:lacksRole name="admin">
        没有admin角色看到的内容
    </shiro:lacksRole>
</div>

<div>
    <h2>某些特定权限看到的</h2>
    <div>
        <shiro:hasPermission name="create">
            当用户必须拥有create权限才能看到的这个内容
        </shiro:hasPermission>
    </div>
    <div>
        <shiro:lacksPermission name="create">
            这个用户没有create权限看到的
        </shiro:lacksPermission>
    </div>
</div>
</body>
</html>

 

权限配置说明

技术图片

 

技术图片

 

shiro安全框架

标签:jstl   内容   das   ini   工作原理   back   iss   技术   认证   

原文地址:https://www.cnblogs.com/lin02/p/11480434.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!