gpt4 book ai didi

java - 当我不知道密码时使用 WS-Security 进行身份验证

转载 作者:搜寻专家 更新时间:2023-11-01 03:28:02 24 4
gpt4 key购买 nike

我正在使用 WSS4JInInterceptor 来尝试验证我的客户端。我已经能够创建一个简单的例子。但是,我有一个问题。在我的应用程序中,我使用提供的用户名和密码尝试打开到数据库的连接。如果连接尝试成功,则用户已通过身份验证,否则,登录尝试将被拒绝。使用 WSS4JInInterceptor 我需要实现一个返回用户密码的回调。在我的安全方案中,我无权访问此密码。我怎样才能实现这样的东西?

我应该继承 WSS4JInInterceptor 并破解它以提供密码吗?

最佳答案

给你:在下面你不会发现我使用回调处理程序,因为真的不需要那个(并不是说你不能那样做,但这样更简单)。

<jaxws:endpoint id="myService" implementor="#myServiceImpl" address="/myService">
<jaxws:inInterceptors>
<bean class="org.apache.cxf.binding.soap.saaj.SAAJInInterceptor" />
<ref bean="myServiceInterceptor"/>
</jaxws:inInterceptors>
<jaxws:properties>
<entry key="ws-security.ut.validator" value-ref="myServiceUsernameTokenValidator"/>
<jaxws:properties>
</jaxws:endpoint>

<bean id=" myServiceInterceptor " class="org.apache.cxf.ws.security.wss4j.WSS4JInInterceptor">
<constructor-arg>
<map>
<entry key="action" value="UsernameToken" />
<entry key="passwordType" value="PasswordText" />
</map>
</constructor-arg>
</ bean>

在我的 myServiceUsernameTokenValidator 中,我直接连接 UserDetailService,从数据库中获取散列密码,然后简单地使用

进行验证
 stringDigester.matches(passwordText, passwordDigest)

关于java - 当我不知道密码时使用 WS-Security 进行身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8176630/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com