在Tomcat基于表单的身份验证的情况下寻找捕获用户密码的方法,以便我可以将用户名/密码组合发送到另一个应用程序。 这是我到目前为止: -
Principal principal = req.getUserPrincipal();
PropertyDescriptor[] pds;
pds = PropertyUtils.getPropertyDescriptors(principal.getClass());
for(int i = 0; i < pds.length; i++){
try {
String name = pds[i].getName();
Object value = PropertyUtils.getProperty(principal,name);
} catch (Exception e) {
e.printStackTrace();
}
}
如何从对象中获取密码? 如果有人能提供相同的建议,我们将非常感激。
答案 0 :(得分:1)
您可以在登录序列的早期拦截密码,但我希望您不能这样做,否则安全性会严重受损。
答案 1 :(得分:1)
检查名称属性以查看它等于password
,相应的值将是您的密码。
答案 2 :(得分:0)
这种事情是一个非常糟糕的主意,它打破了有关如何处理安全凭证的各种原则。开发OAuth协议是为了解决这个问题 - 我建议您调查它以确定是否可以改为。