1
我已經使用wss4j SimplePasswordValidationCallbackHandler創建並驗證了示例web服務。使用wss4j驗證選擇性彈簧web服務器SimplePasswordValidationCallbackHandler
端點類:
@Endpoint
public class HolidayEndpoint {
private static final String NAMESPACE_URI = "http://mycompany.com/hr/schemas";
@PayloadRoot(namespace = NAMESPACE_URI, localPart = "HolidayRequest")
public HolidayResponse handleHolidayRequest(HolidayRequest holidayRequest)
throws Exception {
HolidayResponse result = new HolidayResponse();
result.setResult(1);
return result;
}
}
配置:
<bean
class="org.springframework.ws.server.endpoint.mapping.PayloadRootAnnotationMethodEndpointMapping">
<property name="interceptors">
<list>
<ref local="wsServerSecurityInterceptor" />
</list>
</property>
</bean>
<bean id="wsServerSecurityInterceptor"
class="org.springframework.ws.soap.security.wss4j.Wss4jSecurityInterceptor">
<property name="validationActions" value="UsernameToken" />
<property name="validationCallbackHandler">
<bean id="callbackHandler"
class="org.springframework.ws.soap.security.wss4j.callback.SimplePasswordValidationCallbackHandler">
<property name="users">
<props>
<prop key="Bert">Ernie</prop>
</props>
</property>
</bean>
</property>
</bean>
服務和認證,因此是工作的罰款。
現在我想添加另一個沒有此身份驗證的Spring Web服務。 這裏的問題是我沒有定義任何可以應用身份驗證的服務集。因此,對於我創建的每個新的Spring Web服務,都會應用相同的身份驗證規則。
任何人都可以請建議我如何才能使此認證僅適用於一組選定的服務,並將一些不同的認證規則應用於不同的服務組。