Shiro中最简单的一个身份验证例子

来源:互联网 发布:深圳淘宝网店培训 编辑:程序博客网 时间:2024/05/23 15:15

Shiro作为一个Java安全框架,身份验证是它最基本的功能。

首先给出shiro的Maven配置

<dependencies>      <dependency>          <groupId>org.apache.shiro</groupId>          <artifactId>shiro-core</artifactId>          <version>1.2.2</version>      </dependency>  </dependencies> 
一.配置文件的验证

1.配置文件user.ini

[users]zhang=123wei=123
这里必须写2个,一个用户名,一个密码
2.测试类

package com.zw.mymaven;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 Test {    public static void main(String[] args) {        // 1、获取SecurityManager工厂,此处使用Ini配置文件初始化SecurityManager        Factory<SecurityManager> factory=new IniSecurityManagerFactory("shiro.ini");        // 2、得到SecurityManager实例 并绑定给SecurityUtils        SecurityManager securityManager = factory.getInstance();        SecurityUtils.setSecurityManager(securityManager);        // 3、得到Subject及创建用户名/密码身份验证Token(即用户身份/凭证)        Subject subject = SecurityUtils.getSubject();        UsernamePasswordToken token = new UsernamePasswordToken("zhang", "123");        //UsernamePasswordToken token2 = new UsernamePasswordToken("password", "wei");        try {            // 4、登录,即身份验证            subject.login(token);            System.out.println("登录成功 ");            //subject.login(token2);        } catch (AuthenticationException e) {            e.printStackTrace();            System.out.println("登录失败 ");            // 5、身份验证失败        }        // 6、退出        subject.logout();    }}




0 0
原创粉丝点击