All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.github.dennisit.vplus.data.security.Authority Maven / Gradle / Ivy

/*--------------------------------------------------------------------------
 *  Copyright (c) 2010-2020, Elon.su All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions are
 * met:
 *
 * Redistributions of source code must retain the above copyright notice,
 * this list of conditions and the following disclaimer.
 * Redistributions in binary form must reproduce the above copyright
 * notice, this list of conditions and the following disclaimer in the
 * documentation and/or other materials provided with the distribution.
 * Neither the name of the elon developer nor the names of its
 * contributors may be used to endorse or promote products derived from
 * this software without specific prior written permission.
 * Author: Elon.su, you can also mail [email protected]
 *--------------------------------------------------------------------------
*/
package com.github.dennisit.vplus.data.security;

import com.github.dennisit.vplus.data.criteria.UniqCriteria;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;
import java.util.Set;

/**
 * @author Elon.su
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
@ApiModel(description = "授权用户信息")
public class Authority implements UniqCriteria, Serializable{

    @ApiModelProperty("用户主键账号")
    protected long userId;

    @ApiModelProperty("登录账号")
    protected String username;

    @ApiModelProperty("登录后展示名称")
    protected String showName;

    @ApiModelProperty("拥有的资源列表")
    protected Set urls;

    @ApiModelProperty("拥有的角色列表")
    protected Set roles;

    @ApiModelProperty("权限列表")
    protected Set permission;

    @ApiModelProperty("有效性")
    protected int enabled;

    @ApiModelProperty("密码")
    protected String password;

    @ApiModelProperty("盐值")
    protected String salt;

    public Authority(String showName) {
        this.showName = showName;
    }

    @Override
    public String toString() {
        return this.showName;
    }

    @Override
    public Long getUniqueId() {
        return this.getUserId();
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy