zoukankan      html  css  js  c++  java
  • shiro学习一

    main方法代码

    package com.java.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;
    import org.apache.shiro.util.Factory;

    public class HelloWorld {


    public static void main(String[] args) {
    //读取shiro配置文件,初始化SecurityManager工厂
    Factory<SecurityManager> factory = new IniSecurityManagerFactory("classpath:shiro.ini");
    //获取securityManager实例
    SecurityManager securityManager = factory.getInstance();
    //把securityManager实例绑定到SecurityUtils
    SecurityUtils.setSecurityManager(securityManager);
    //得到当前执行的用户
    Subject currentUser = SecurityUtils.getSubject();
    //创建用户令牌,用户名/密码
    UsernamePasswordToken token = new UsernamePasswordToken("java1234","12345");


    try{
    //身份认证
    currentUser.login(token);

    System.out.println("登陆成功");
    }catch(AuthenticationException e){
    e.printStackTrace();
    System.out.println("身份认证失败");
    }
    //退出
    currentUser.logout();


    }
    }

    需要的两个jar包

    <dependency>
    <groupId>org.apache.shiro</groupId>
    <artifactId>shiro-core</artifactId>
    <version>1.2.4</version>
    </dependency>
    <!-- https://mvnrepository.com/artifact/org.slf4j/slf4j-log4j12 -->
    <dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-log4j12</artifactId>
    <version>1.7.12</version>
    </dependency>

    log4j properties文件

    #
    # Licensed to the Apache Software Foundation (ASF) under one
    # or more contributor license agreements. See the NOTICE file
    # distributed with this work for additional information
    # regarding copyright ownership. The ASF licenses this file
    # to you under the Apache License, Version 2.0 (the
    # "License"); you may not use this file except in compliance
    # with the License. You may obtain a copy of the License at
    #
    # http://www.apache.org/licenses/LICENSE-2.0
    #
    # Unless required by applicable law or agreed to in writing,
    # software distributed under the License is distributed on an
    # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
    # KIND, either express or implied. See the License for the
    # specific language governing permissions and limitations
    # under the License.
    #
    log4j.rootLogger=INFO, stdout

    log4j.appender.stdout=org.apache.log4j.ConsoleAppender
    log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
    log4j.appender.stdout.layout.ConversionPattern=%d %p [%c] - %m %n

    # General Apache libraries
    log4j.logger.org.apache=WARN

    # Spring
    log4j.logger.org.springframework=WARN

    # Default Shiro logging
    log4j.logger.org.apache.shiro=TRACE

    # Disable verbose logging
    log4j.logger.org.apache.shiro.util.ThreadContext=WARN
    log4j.logger.org.apache.shiro.cache.ehcache.EhCache=WARN

    配置shiro.ini

    [users]
    java1234=1234
    jack=1111

  • 相关阅读:
    H5 WebSocket
    JS call()、apply()、bind()
    JS中this指向问题
    JS GET POST请求
    php 常用get post http请求
    php 开启redis
    egret接入华为快应用6004
    PHP生成公私钥,签名和验签
    JS数组去重
    Oracle第九课
  • 原文地址:https://www.cnblogs.com/1736gerr/p/6858873.html
Copyright © 2011-2022 走看看