zoukankan      html  css  js  c++  java
  • Shiro演示

    Shiro是不依赖于容器的,所以建立一个普通的Maven项目就可以。

    添加依赖

    <dependencies>
        <dependency>
            <groupId>org.apache.shiro</groupId>
            <artifactId>shiro-core</artifactId>
            <version>1.4.2</version>
        </dependency>
        <dependency>
            <groupId>commons-logging</groupId>
            <artifactId>commons-logging</artifactId>
            <version>1.2</version>
        </dependency>
    </dependencies>
    

      

    新建配置文件

    resources下新建shiro.ini,文件名称任意,扩展名必须是ini。

    [users]
    zhangsan=zs
    lisi=ls
    

      

    新建测试类

    新建com.bjsxt.ShiroRun。

    public class ShiroRun {
        public static void main(String[] args) {
            Factory<SecurityManager> factory = new IniSecurityManagerFactory("classpath:shiro.ini");
            SecurityManager securityManager = factory.getInstance();
            SecurityUtils.setSecurityManager(securityManager);
            Subject subject = SecurityUtils.getSubject();
            //web项目时,用户名和密码是客户端表单传递过来的用户名和密码。
            AuthenticationToken token = new UsernamePasswordToken("admin", "pwd");
            try {
                //login()方法没有返回值,只能通过是否有异常判断是否登录成功。
                subject.login(token);
                System.out.println("登录成功");
            } catch (UnknownAccountException e) {
                System.out.println("账号不存在");
            } catch (IncorrectCredentialsException e) {
                System.out.println("密码错误");
            } catch (AuthenticationException e) {
                e.printStackTrace();
            }
        }
    }
    

      

    一、 授权

  • 相关阅读:
    STM32F103RCT6项目RAM&ROM占用分析
    STM32使用jasson库程序卡死(freeRTOS/标准库)
    STM32使用OLED模块(SSD1306):OLED_DrawBMP()
    C语言内存管理
    C语言指针
    C语言数组
    C语言循环结构
    C语言函数
    C语言选择结构
    C语言运算符与表达式
  • 原文地址:https://www.cnblogs.com/vincentmax/p/14339387.html
Copyright © 2011-2022 走看看