我需要使用UsernameToken WS-Security实现直接身份验证。
我正在使用Visual Studio 2010使用Java Web服务;使用UsernameToken标头进行身份验证。
我想我可以使用WSE 3.0 - > http://msdn.microsoft.com/en-us/library/ff647197.aspx
但是,Visual Studio 2010不支持WSE 3.0。我还发现http://www.junasoftware.com/blog/how-to-use-wse-3-in-visual-studio-2010.aspx 但我在Windows 7机器中找不到AddIn文件: - (
回到正方形1;如何在Visual Studio 2010中生成WS-security usernameToken标头?
答案 0 :(得分:1)
我记得几个月前这样做,这让人头疼。我想我确实在C:\ Program Files \ Microsoft WSE \ v3.0 \ Tools中找到了该文件,但我可能错了。如果你能够使它工作,你可以创建一个继承自SoapHeader的类:
public class SecuredWebServiceHeader : System.Web.Services.Protocols.SoapHeader
{
public string UserName { get; set; }
public string Password { get; set; }
public string AuthenticationToken { get; set; }
public SecuredWebServiceHeader() { }
}
之后,在WebServices上声明一个SecuredWebServiceHeader变量的实例,并将[System.Web.Services.Protocols.SoapHeader("SoapHeader")]
属性添加到所有WebMethod中。对于SecuredWebServiceHeader类的AuthenticationToken属性,我只使用/生成Guid对象并将其用作令牌。我有一个AuthenticateUser方法,用于检查提供的用户名是否有效。
如果您没有找到Addin文件,请告诉我,我会更加努力地找到它。
祝福这些Web服务。
Hanlet