PermitProperties.java 1.2 KB
Newer Older
zlt2000's avatar
zlt2000 已提交
1 2 3 4 5 6 7 8 9 10 11 12
package com.central.oauth2.common.properties;

import lombok.Getter;
import lombok.Setter;

import java.util.ArrayList;
import java.util.List;

/**
 * 配置需要放权的url白名单
 *
 * @author zlt
zlt2000's avatar
zlt2000 已提交
13 14 15 16 17
 * @version 1.0
 * @date 2019/1/19
 * <p>
 * Blog: https://zlt2000.gitee.io
 * Github: https://github.com/zlt2000
zlt2000's avatar
zlt2000 已提交
18 19 20 21 22 23 24 25
 */
@Setter
@Getter
public class PermitProperties {
    /**
     * 监控中心和swagger需要访问的url
     */
    private static final String[] ENDPOINTS = {
zlt2000's avatar
zlt2000 已提交
26
            "/oauth/**",
zlt2000's avatar
zlt2000 已提交
27 28 29 30
            "/actuator/**",
            "/*/v2/api-docs",
            "/swagger/api-docs",
            "/swagger-ui.html",
zlt2000's avatar
zlt2000 已提交
31
            "/doc.html",
zlt2000's avatar
zlt2000 已提交
32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55
            "/swagger-resources/**",
            "/webjars/**",
            "/druid/**"
    };

    /**
     * 设置不用认证的url
     */
    private String[] httpUrls = {};

    public String[] getUrls() {
        if (httpUrls == null || httpUrls.length == 0) {
            return ENDPOINTS;
        }
        List<String> list = new ArrayList<>();
        for (String url : ENDPOINTS) {
            list.add(url);
        }
        for (String url : httpUrls) {
            list.add(url);
        }
        return list.toArray(new String[list.size()]);
    }
}