Spring 在身份验证对象中隐藏自定义UserDetails的参数
我试图阻止用户读取与其帐户关联的自定义UserDetails对象的参数 我正在使用SpringMVC。我实现了一个自定义UserDetails对象(称为User)。我可以通过引用身份验证对象principle在jsp页面中访问其参数。e、 gSpring 在身份验证对象中隐藏自定义UserDetails的参数,spring,jsp,spring-security,Spring,Jsp,Spring Security,我试图阻止用户读取与其帐户关联的自定义UserDetails对象的参数 我正在使用SpringMVC。我实现了一个自定义UserDetails对象(称为User)。我可以通过引用身份验证对象principle在jsp页面中访问其参数。e、 g <sec:authentication property="principal.email" /><br> 一切正常。问题是我想在那里存储一些敏感信息。不仅仅是密码,还有其他我不希望用户能够确定的东西(例如,我与他们的用户关联
<sec:authentication property="principal.email" /><br>
一切正常。问题是我想在那里存储一些敏感信息。不仅仅是密码,还有其他我不希望用户能够确定的东西(例如,我与他们的用户关联的数据库参数)
例如,我可以实际显示密码:
<sec:authentication property="principal.password" /><br>
我知道安全性是一个完全不同的话题,但问题是,有些领域我根本不想让他们看到。我知道我不必在jsp页面中显示它,但如果它是“可显示的”,我假设这意味着身份验证令牌缓存在用户的客户端上,因此聪明的用户可以访问该令牌并读取参数,然后尝试在我们的站点上使用错误的URL等等
那么,有没有可能隐藏一些参数,而不是在身份验证对象中返回它们,或者我应该将这些参数放在一个完全独立的对象中?用户没有被缓存,也没有发送给用户,这都是服务器端的。JSP(以及JSF)呈现服务器端页面并将其发送给客户端。所以用户没有暴露。啊,有道理,谢谢!