Web Service安全(一)——Basic验证

最简单的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");

posted @ 2011-01-02 19:04  长须飘飘  阅读(2878)  评论(0编辑  收藏  举报