最简单的WebService安全要求,就是要求HTTP传输层的Basic验证。
在WebLogic中,只要你设置你的WebService只向个别角色或者用户开放,那么,客户端就必须提供某种验证资料,例如用户名和密码。
服务端的做法有两种:
一:在代码上设置这个安全要求
import weblogic.jws.security.RolesAllowed;
import weblogic.jws.security.SecurityRole;
@RolesAllowed ( {
@SecurityRole (role=”Adminstrators”,mapToPrincipals{“weblogic”}),
})
@WebService
public class MyService { ... }
二:在Admin Console上设置安全要求
点击你的WebService,选择Security->Policy设置你的具体要求。
一般来说,方法二更加灵活,它跟代码无关,可以动态修改。
客户端的做法也简单,JAX-WS的写法类似如下:
MyService service = new MyServiceService().getMyServicePort();
BindingProvider bp = (BindingProvider) service;
Map<String,Object> context = bp.getRequestContext();
context.put(BindingProvider.USERNAME_PROPERTY, "myusername");
context.put(BindingProvider.PASSWORD_PROPERTY, "mypassword");
转载:http://www.java123.net/JavaEE/Web_Serviceanquan_yi___Basicyanzheng_51025.html