在AbstractJdbcUsernamePasswordAuthenticationHandler中获取Request对象

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

我有一个CAS 6.0.1,我已经扩展了AbstractJdbcUsernamePasswordAuthenticationHandler来匹配我的数据库,一切正常。

我有一个新的要求,基本上在我的登录页面添加一个“部门”。我认为我有2个选项,要么在URL中添加它作为名称/值对,要么,因为它是POST,除了j_username和j_password之外,还要向表单添加隐藏字段。

但是,在我的AuthenticationHandler实现中,我将如何获得该值?

java spring-security cas
1个回答
1
投票

如果您只想要自由格式访问Request对象,可以使用:

HttpServletRequest request = ((ServletRequestAttributes)
      RequestContextHolder.currentRequestAttributes()).getRequest();

或者使用CAS本身:

HttpServletRequest request = 
      HttpRequestUtils.getHttpServletRequestFromRequestAttributes();

这使您可以自由地检查department等参数。如果您希望这些参数实际绑定到传递的credential对象(包含用户名/密码等),那么您需要相当大地修改Webflow以将这些字段包含到凭证对象中,更改Webflow以处理绑定,我认为上述情况暂时可能看起来更简单。

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