首页 > 其他 > 详细

Shiro

时间:2019-05-10 20:54:49      阅读:120      评论:0      收藏:0      [点我收藏+]


概述:shiro是一个非常强大的、易于使用的、开源的、权限框架。它包括了权限校验、权限授予、会话管理、安全加密等组件。


Shiro下载路径:http://shiro.apache.org/download.html
所有包的说明,根据列表的说明,下载我们需要的jar包

基础支撑包说明:

技术分享图片 

 

常用的类名

Authentication:权限校验,每次操作校验用户是否有访问权限
Authorization:授权,用户登录时,授予用户对应的权限
Session Management:会话管理,用于记录用户的登录状态
Cryptography:加密,加密算法的实现(SHA、MD5)
web Support:对Web项目的支持,Shiro的标签!

 

入门事例:
第一步:创建项目,导入包名

技术分享图片

 


第二步:创建一个shiro.ini文件,配置ini文件,编写权限认证信息。
注意事项:(1)shiro.ini文件名可以任意编写,但后缀必须是ini
     (2)shiro.ini配置文件放在classpath根目录下

#配置用户名和密码,设置角色名roles_admin

[users]

admin=123456, roles_admin

#配置角色权限,可以配置多个

[roles]

roles_admin=admin:List, admin:create, admin:delete, admin:edit, admin:add

 

 

第三步:创建SecurityManager对象

cn.hzh.shiro

 

import org.apache.shiro.SecurityUtils;

import org.apache.shiro.authc.AuthenticationException;

import org.apache.shiro.authc.UsernamePasswordToken;

import org.apache.shiro.config.IniSecurityManagerFactory;

import org.apache.shiro.mgt.SecurityManager;

import org.apache.shiro.subject.Subject;

 

public class ShiroTest {

 

    public static void main(String[] args) {

        // shrio框架读取ini配置文件

        IniSecurityManagerFactory ismf = new IniSecurityManagerFactory("classpath:shiro-config.ini");

        // 获得SecurityManager对象

        SecurityManager securityManager = ismf.createInstance();

 

        // 设置一个身份对象Subject

        SecurityUtils.setSecurityManager(securityManager);

        // 获得一个身份对象Subject

        Subject subject = SecurityUtils.getSubject();

 

        // 设置用户名和密码

        UsernamePasswordToken token = new UsernamePasswordToken("admin", "123456");

 

        try {

    // 校验参数

            Subject resultSubject = securityManager.login(subject, token);

           //校验通过就获得用户名,校验不通过就报异常

     System.out.println("验证通过获取用户名:" + resultSubject.getPrincipal());

        } catch (AuthenticationException e) {

            e.printStackTrace();

        }

    }

}

 

 

Shiro

原文:https://www.cnblogs.com/ong-zhanhon/p/10846556.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!