shiro-身份认证

身份认证

在应用中用户怎么证明自己的身份,一般需要提供一些凭据,最常见的如用户名、密码等。在shiro中需要用户提供Principals(身份)和credentials(证明)
Principals:身份,标识主体。如手机号、邮箱、用户名等。
Credentials:证明,和安全主体对应的值,密码证书等。

ini文件

在第二章,原书使用了ini配置文件,来配置Realm。 ini是初始化initialization File的简写,是windows下的初始文件的存储形式,常用于一些默认配置。
由 节、键、值组成,使用;表示注释
使用 [section]表示节 键=值的形式
比如shiro的一个ini配置:指定了一组用户名和密码的关系
;这是一个简单的用户配置
[users]
zhangsan=zhangsan123
wang=123
一个简单的认证过程:
public class MyDemo {
public static void main(String[] args) {
{
//工厂模式 获取SecurityManagerFactory
IniSecurityManagerFactory iniSecurityManagerFactory = new IniSecurityManagerFactory(“classpath:shiro-realm.ini”);
//获取一个实例
SecurityManager instance = iniSecurityManagerFactory.getInstance();
//设置SecurityUtil
SecurityUtils.setSecurityManager(instance);
//获取Subject和token
Subject subject = SecurityUtils.getSubject();
UsernamePasswordToken token=new UsernamePasswordToken(“zhangsan”,“zhangsan”);

        try {
            //登录
            subject.login(token);
        }catch (AuthenticationException e){
            e.printStackTrace();
        }
        boolean authenticated = subject.isAuthenticated();
        System.out.println(authenticated);
        //登出
        subject.logout();
    }
}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值