package org.xmx0632.deliciousfruit.service.account; import java.io.Serializable; import org.apache.commons.lang3.builder.EqualsBuilder; import org.apache.commons.lang3.builder.HashCodeBuilder; /** * 自定义Authentication对象,使得Subject除了携带用户的登录名外还可以携带更多信息. */ public class ShiroUser implements Serializable { private static final long serialVersionUID = -1373760761780840081L; public Long id; public String loginName; public String name; public ShiroUser(Long id, String loginName, String name) { this.id = id; this.loginName = loginName; this.name = name; } public String getName() { return name; } /** * 本函数输出将作为默认的<shiro:principal/>输出. */ @Override public String toString() { return loginName; } /** * 重载equals,只计算loginName; */ @Override public int hashCode() { return HashCodeBuilder.reflectionHashCode(this, "loginName"); } /** * 重载equals,只比较loginName */ @Override public boolean equals(Object obj) { return EqualsBuilder.reflectionEquals(this, obj, "loginName"); } }