Autenticação Web Services Lado Servidor (JAX-WS)

Olá pessoal,

Depois de ter googlado muito, resolvi fazer uma pergunta neste forum.

Eu criei um WS Server Side em NetBeans usando JAX-WS sobre TomCat.
este WS será consumido por C#.
Já está funcionando, mas agora quero implementar a segurança.

Eu gostaria de saber, de uma forma clara como recuperar os dados do cabeçalho em
especial o usuario e senha de Credentials recebida, para depois eu poder
validar com o banco.

este é o código C# que instancia o WS passa a credentials que envia o usuario e senha para o servidor.

GetDateTimeServerService dateServer = new GetDateTimeServerService(); dateServer.Credentials = new System.Net.NetworkCredential("Usuario","Senha");
Desde já agradeço a atenção de todos e espero que alguem possa realmente me ajudar. :frowning:

Desenvolvi um Web Service simples e agora preciso aplicar uma autenticação básica. Ao pesquisar tenho visto muito o padrão WS-Security. Porém ainda não entendi como aplicá-lo. Alguém possui um exemplo prático? Estou utilizando JAX-WS e JBOSS 5.1.0 GA.

Obrigado.

Código do web service:

import java.util.List;

import javax.jws.WebMethod;
import javax.jws.WebService;
import javax.naming.InitialContext;
import javax.naming.NamingException;

import br.com.techno.basicejb.funcionarios.Funcionario;
import br.com.techno.basicejb.funcionarios.FuncionariosI;

@WebService(portName="HelloWorldTechnoPort", serviceName="HelloWorldTechnoService", targetNamespace="http://HelloWorldTechno/")
public class HelloWorldTechno {

	/**
	 * Método de teste
	 * @param name
	 * @return
	 */
	@WebMethod(operationName="sayHello")
	public String sayHello(String name) {
		//teste de funcioamento do webservice
	    System.out.println("Hello: " + name);
	    return "Hello " + name + "!";
	}

	@WebMethod(operationName="consultarFuncionarios")
	public String consultarFuncionarios(){
		InitialContext ctx;
		FuncionariosI funcBean;
		List<Funcionario> funcionarios = null;
		
		try {
			ctx = new InitialContext();
			funcBean = (FuncionariosI) ctx.lookup("FuncionarioBean/local");
			
			funcionarios = funcBean.consultar();
			
			System.out.println(funcionarios);
			
			
		} catch (NamingException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		
		return Funcionario.toJSONArray(funcionarios);
	}
}

Olá, pessoal não sei se conhecem, mas entrem neste portal ai… tem muita coisa boa…
http://aprendacomigo.com.br/videos/category/java/82