SsoConfig.java 2.15 KB
package com.bsth.security;

import com.bsth.common.Constants;
import com.bsth.data.SystemParamCache;
import org.springframework.beans.factory.InitializingBean;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;

/**
 * sso登录相关配置信息
 * @author Hill
 */
@Component
public class SsoConfig implements InitializingBean {

    /**
     * 是否开启sso登录
     */
    private boolean ssoEnabled;

    /**
     * 本系统在统一平台的系统代码
     */
    private String systemCode;

    /**
     * sso登录请求地址
     */
    private String ssoLoginUrl;

    /**
     * sso登出请求地址
     */
    private String ssoLogoutUrl;

    /**
     * sso验证请求地址
     */
    private String ssoAuthUrl;

    public boolean isSsoEnabled() {
        return ssoEnabled;
    }

    @Value("${sso.enabled}")
    public void setSsoEnabled(boolean ssoEnabled) {
        this.ssoEnabled = ssoEnabled;
        if (ssoEnabled) {
            Constants.LOGIN_PAGE = ssoLoginUrl;
        } else {
            Constants.LOGIN_PAGE = Constants.ORIGINAL_LOGIN_PAGE;
        }
    }


    public String getSystemCode() {
        return systemCode;
    }

    public void setSystemCode(String systemCode) {
        this.systemCode = systemCode;
    }

    public String getSsoLoginUrl() {
        return ssoLoginUrl;
    }

    @Value("${sso.http.url.login}")
    public void setSsoLoginUrl(String ssoLoginUrl) {
        this.ssoLoginUrl = ssoLoginUrl;
        if (ssoEnabled) {
            Constants.LOGIN_PAGE = ssoLoginUrl;
        }
    }

    public String getSsoLogoutUrl() {
        return ssoLogoutUrl;
    }

    @Value("${sso.http.url.logout}")
    public void setSsoLogoutUrl(String ssoLogoutUrl) {
        this.ssoLogoutUrl = ssoLogoutUrl;
    }

    public String getSsoAuthUrl() {
        return ssoAuthUrl;
    }

    public void setSsoAuthUrl(String ssoAuthUrl) {
        this.ssoAuthUrl = ssoAuthUrl;
    }

    @Override
    public void afterPropertiesSet() throws Exception {
        setSystemCode(SystemParamCache.getSsoSystemCode());
        setSsoAuthUrl(SystemParamCache.getUrlHttpSsoAuth());
    }
}