shiro-02

Posted blog-747674599

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了shiro-02相关的知识,希望对你有一定的参考价值。

MyRealm.java

package cn.mldn.realm;

import org.apache.shiro.authc.AuthenticationException;
import org.apache.shiro.authc.AuthenticationInfo;
import org.apache.shiro.authc.AuthenticationToken;
import org.apache.shiro.authc.IncorrectCredentialsException;
import org.apache.shiro.authc.SimpleAuthenticationInfo;
import org.apache.shiro.authc.UnknownAccountException;
import org.apache.shiro.authc.UsernamePasswordToken;
import org.apache.shiro.realm.Realm;

public class MyRealm implements Realm {

    @Override
    public AuthenticationInfo getAuthenticationInfo(AuthenticationToken token) throws AuthenticationException {
        String username = (String)token.getPrincipal() ;   // 取得用户名
        String password = new String( (char [])token.getCredentials()) ; //取得密码
        // 此时直接使用固定的用户名密码进行验证处理操作
        if(!"admin".equals(username)) {
            throw new UnknownAccountException("用户不存在");
        }
        if(!"hello".equals(password)) {
            throw new IncorrectCredentialsException("密码不正确");
        }
        return new SimpleAuthenticationInfo(username, password, this.getName());
    }

    @Override
    public String getName() {
        return "MyRealm";    // 名字随便给一个,只要能唯一标记即可
    }

    @Override
    public boolean supports(AuthenticationToken token) {
        // 本次将在之前的程序基础之上继续使用UsernamePasswordToken完成信息的传递
        return token instanceof UsernamePasswordToken;
    }

}

shiro.ini

myRealm=cn.mldn.realm.MyRealm
# 整个Shiro的验证处理都是由SecurityManager接口负责的
securityManager.realms=$myRealm

 

以上是关于shiro-02的主要内容,如果未能解决你的问题,请参考以下文章

微信小程序代码片段

VSCode自定义代码片段——CSS选择器

谷歌浏览器调试jsp 引入代码片段,如何调试代码片段中的js

片段和活动之间的核心区别是啥?哪些代码可以写成片段?

VSCode自定义代码片段——.vue文件的模板

VSCode自定义代码片段6——CSS选择器