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



我需要在CAS 6.0.X登录屏幕(语言选择器(中添加一个字段,该字段不用于对用户进行身份验证,但登录后需要它。如何将添加到表单中的此字段传递到"主体"对象中传递给客户端应用程序的数据。

最终我实现了我所需要的。我们已经覆盖了jdbc支持模块以添加检查,在那里我放置了以下代码,帮助我检索请求的参数。

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

fieldsToPrincipal它是一个表单字段名称字符串,我想通过"主体"映射属性发送给应用程序。

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

cas.authn.jdbc.query[0].原则属性列表:USERID,USERNAME,LANGUAGE_SELECTEDcas.custom.properties.jdbc.loginfields.to.procipal=LANGUAGE_SELECTED

最新更新