Java Web服务: Metro服务下的WS-Security - 编程入门网
lt; callbacks.length; i++) {
if (callbacks[i] instanceof NameCallback) {
((NameCallback)callbacks[i]).setName("libuser");
} else if (callbacks[i] instanceof PasswordCallback) {
((PasswordCallback)callbacks[i]).setPassword("books".toCharArray());
} else {
throw new UnsupportedCallbackException(callbacks[i],
"Unsupported callback type");
}
}
}
}
您并不是必须 使用回调来设置用户名或密码。如果用户名和密码被赋予的是固定值,您可以直接在 <wssc:CallbackHandler> 元素中设置它们,方法是使用 default="yyy"(在这里,属性值即实际 的用户名和密码)来替换 classname="xxx" 属性。 Java Web服务: Metro服务下的WS-Security(4)时间:2011-07-25 IBM Dennis Sosnoski服务器端应用 在服务器端,WSIT 配置信息需要包含在 WSDL 服务定义中。如 “Metro 简介” 所述,服务 WSDL 的 位置可以在服务 WAR 文件中的 WEB-INF/sun-jaxws.xml 里指定为一个参数。如果不使用 WSIT 特性,则 WSDL 是可选的;在这种情况下,WSDL 将在运行时自动生成。如果使用 WSIT 功能,则 WSDL 是必须的, 并且必须包含为服务所用的特性配置 WSIT 所需的任意自定义扩展元素。清单 4 展示了 清单 1 WSDL 服 务的策略部分,这次添加了一个 WSIT 自定义扩展元素来配置 UsernameToken 支持(以粗体显示): 清单 4. 带有 WSIT 服务器端扩展的 UsernameToken 策略
清单 4 中的服务器端 WSIT 扩展以 <wsss:ValidatorConfiguration> 元素和 <wsss:Validator> 子元素形式表示,指定将作为验证器回调使用的类。清单 5 给出了这个类的代 码,这个类必须实现 com.sun.xml.wss.impl.callback.PasswordValidationCallback.PasswordValidator 接口。在这里,它 只是针对固定值检查提供的用户名和密码,但它可以轻松使用一个数据库查询或其他机制替代。 清单5. 服务器回调代码
|
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |