4.0用户模块开发(越权,高可复用的服务端响应类的封装)

一.横向越权和纵向越权

  • 横向越权:攻击者尝试访问与他拥有相同权限的用户资源;
  • 纵向越权:低级别攻击者尝试访问高级别用户的资源;

二.封装响应类

  • 在public方法上加入@JsonIgnore注解,可以在json序列化的时候,不会序列化这个key
@JsonIgnore
    public boolean isSuccess() {
        return this.status == ResponseCode.SUCCESS.getCode();
    }
  • 在类上加入@JsonSerialize注解,来设置json序列化时候的一些参数
    如:
//这个配置表示json序列化的时候,如果value时null的时候,可以也会消失.
@JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL)
public class ServiceResponse implements Serializable {
    ...
}

你可能感兴趣的:(4.0用户模块开发(越权,高可复用的服务端响应类的封装))