shiro安全认证

2019-12-26  本文已影响0人  李霖神谷

1.shiro主要是做安全认证的框架,它主要包括认证授权两个功能,他是跨jvm编辑环境的
认证的简单dome
xml配置shiro的一个核心配置文件


   <dependencies>
       <dependency>
           <groupId>org.apache.shiro</groupId>
           <artifactId>shiro-all</artifactId>
           <version>1.3.2</version>
       </dependency>

   </dependencies>

java实现类,安全认证的步骤

import com.sun.org.apache.bcel.internal.util.ClassPath;
import org.apache.shiro.SecurityUtils;
import org.apache.shiro.authc.AuthenticationException;
import org.apache.shiro.authc.UsernamePasswordToken;
import org.apache.shiro.config.IniFactorySupport;
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 myshiro {
    public static void main(String[] args) {
//        创建安全管理器工厂
        Factory<SecurityManager> securityManagerFactory=new IniSecurityManagerFactory("classpath:shiro.ini");
//        创建安全管理器
        SecurityManager securityManager=securityManagerFactory.getInstance();
//        设置为当前运行环境
        SecurityUtils.setSecurityManager(securityManager);
//        创建subject主体
        Subject subject= SecurityUtils.getSubject();
//        提交认证前创建令牌
        UsernamePasswordToken usernamePasswordToken=new UsernamePasswordToken("lishuai","123456");
//        提交认证
        try {
            subject.login(usernamePasswordToken);
            if (subject.isAuthenticated()){
                System.out.println("ok");
            }else{
                System.out.println("no");
            }
        } catch (AuthenticationException e) {
            e.printStackTrace();
        }
    }
}

配置文件:是ini扩展名的

[users]
lishuai=123456
上一篇下一篇

猜你喜欢

热点阅读