這裏你去了:下面你不會找到我使用回調處理程序,因爲不會真的需要(不是說你不能這樣做,但更簡單)。
<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,正從DB哈希密碼,然後簡單地使用驗證
stringDigester.matches(passwordText, passwordDigest)
該數據庫不保留明文密碼,只某種形式的散列。因此,即使與管理員用戶連接,也無法檢索明文密碼。 –