cas5.3服务端怎么接收客户端参数

Cas5.3单点登录的服务端怎么接收客户端传递来的一个参数,以及客户端怎么传参到服务端?需要用这个参数来动态渲染服务端登录页面。

######这是客户端的配置:

img

我在服务端写了一个拦截器,只能拦截我写的controller路径,不能拦截到cas源码中的login路径。

img

不知道怎么解决了。最终目的是在登录页面渲染之前拿到客户端的参数。

希望对你有帮助:
cas登录页中的title(如平台名称)是可配置的,比如从apollo读取,apollo配置样例:

{
    "2201": "平台名称2201",
    "2202": "平台名称2202",
    "default": "默认平台名称"
}

http://192.168.200.111:8085/cas/login?area=2202&service=http://192.168.200.111:8089/center

传入参数为area
重载org.apereo.cas.web.flow.login.InitialFlowSetupAction

public Event doExecute(final RequestContext context) {
        HttpServletRequest request = WebUtils.getHttpServletRequestFromExternalWebflowContext(context);
        if (request.getMethod().equalsIgnoreCase(HttpMethod.POST.name())) {
            WebUtils.putInitialHttpRequestPostParameters(context);
        }

        this.configureCookieGenerators(context);
        this.configureWebflowContext(context);
        this.configureWebflowContextForService(context);
        //增加了此方法
        this.configureBussinessSetting(context);
        return this.success();
    }
private void configureBussinessSetting(final RequestContext context) {
        HttpServletRequest request = WebUtils.getHttpServletRequestFromExternalWebflowContext(context);
        String area = request.getParameter("area");
        if(StringUtils.isEmpty(area)) {
            area = "default";
        }
        this.applyAreaConfig(area,request);
    }
 private void applyAreaConfig(String area,HttpServletRequest request){
        Map<String,String> map = this.readAreaConfig();
        Map<String, String> itemAreaConfig = this.parseItemAreaConfig(map.get(PAGETITLE));
        final String pageTitle = this.readItemValue(itemAreaConfig, area);
        request.setAttribute("pageTitle",pageTitle);
        request.getSession().setAttribute("pageTitle",pageTitle);

    }

前端登录页读取平台名称:

<div class="header-title">
   <label th:text="${pageTitle}"></label>
</div>