1、自定义登录认证规则
import org.apache.shiro.authc.UsernamePasswordToken;
public class EasyUsernameToken extends UsernamePasswordToken {
private static final long serialVersionUID = -2564928913725078138L;
private ShiroApproveLoginType type;
public EasyUsernameToken() {
super();
}
/**
* 免密登录
*/
public EasyUsernameToken(String username) {
super(username, "", false, null);
this.type = ShiroApproveLoginType.NOPASSWD;
}
/**
* 账号密码登录
*/
public EasyUsernameToken(String username, String password, boolean rememberMe) {
super(username, password, rememberMe, null);
this.type = ShiroApproveLoginType.PASSWORD;
}
public ShiroApproveLoginType getType() {
return type;
}
public void setType(ShiroApproveLoginType type) {
this.type = type;
}
}
枚举类
public enum ShiroApproveLoginType {
/** 密码登录 */
PASSW

本文介绍了如何使用Apache Shiro实现自定义登录认证规则和方案。包括创建`EasyUsernameToken`用于区分密码和免密登录,自定义`EasyCredentialsMatch`进行不同类型的登录验证,配置Shiro的`hashedCredentialsMatcher`设置加密规则,以及在`ShiroRealm`中实现权限匹配和账号密码验证。此外,还展示了登录方法的实现,处理登录异常情况。

1万+

被折叠的 条评论
为什么被折叠?



