zoukankan      html  css  js  c++  java
  • Shiro


    概述: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();

            }

        }

    }

     

  • 相关阅读:
    mongo与node的两种连接方式 mongoskin && mongoclient 的基本使用
    promise 源码 简单分析
    node之 glob模块 相对路径绝对路径浅析
    webpack 多入口打包配置示例
    webpack 多入口打包分析
    MyEclipse8.5 以debug模式启动tomcat6.0服务器 报错cannot connect to vm。
    java开发bug 在启动Tomcat 6.0时发现第一条信息便是
    java 开发, jdk 1.6 官方下载地址
    电脑故障
    myeclipse添加源码支持
  • 原文地址:https://www.cnblogs.com/ong-zhanhon/p/10846556.html
Copyright © 2011-2022 走看看