Apereo CAS 6.0.x将登录表单字段传递给已解析的属性

问题描述 投票:1回答:1

我需要在CAS 6.0.X登录屏幕(语言选择器)中添加一个字段,该字段不用于验证用户身份,但登录后需要它。我该怎么做才能将添加到表单中的该字段传递给在“主要”对象中传递给客户端应用程序的数据。

field cas principal
1个回答
0
投票

最后,我已经达到了我所需要的。我们已经覆盖了jdbc支持模块以添加检查,并且在其中放置了以下代码来帮助我检索请求的参数。

HttpServletRequest request = ((ServletRequestAttributes) 
RequestContextHolder.currentRequestAttributes()).getRequest();
String[] fields = fieldsToPrincipal.split(",");
for(String field : fields2Principal) 
{
    dbFields.put( field.trim() , request.getParameter( field.trim() ) );
}

fieldsToPrincipal这是一列表单字段名称,我想通过“主要”映射属性发送应用程序。

现在在属性文件中,我有2个属性,在其中报告字段名称。告诉您将为主体检索哪些字段的默认属性,以及我指示哪些字段来自表单的自定义属性的默认属性

cas.authn.jdbc.query [0] .principalAttributeList:USERID,USERNAME,LANGUAGE_SELECTEDcas.custom.properties.jdbc.loginfields.to.principal = LANGUAGE_SELECTED

© www.soinside.com 2019 - 2024. All rights reserved.