webservice使用拦截器进行权限验证
来源:互联网 发布:带癞子的麻将胡牌算法 编辑:程序博客网 时间:2024/06/05 22:41
我们知道webservice是实现两个系统之间的交互,服务器在接受客户端传来的请求时,必然需要去验证其是否具有权限操作。
通常呢,我们是把验证信息放在soapmessage的头信息中。
首先说客户端:
第一步:创建拦截器
public class IntercepterTest extends AbstractPhaseInterceptor<SoapMessage>{private String name;private String password;public IntercepterTest(String name,String password) {super(Phase.PREPARE_SEND);this.name = name;this.password = password;}@Overridepublic void handleMessage(SoapMessage message) throws Fault {//自己创建一个头信息Document document = DOMUtils.createDocument();Element element1 = document.createElement("userinfo");Element element2 = document.createElement("name");Element element3 = document.createElement("password");element2.setTextContent(name);element3.setTextContent(password);element1.appendChild(element3);element1.appendChild(element2);Header header = new Header(new QName("tt"), element1);//将自己创建的头信息添加到message中message.getHeaders().add(header);}}
其中其构造方法中的阶段是,准备发送之前将验证信息封装在soapmessage中;
在客户端看来,将该拦截器添加到out的拦截器中;
IntercepterTest it = new IntercepterTest("admin", "123");//=====================================添加拦截器bean.getInInterceptors().add(new LoggingInInterceptor());bean.getOutInterceptors().add(new LoggingOutInterceptor());bean.getOutInterceptors().add(it);
这样就算完成客户端,请求权限的添加操作;
接着再来看服务器端,在服务器端,我们需要在调用方法之前拦截信息并解析验证其是否具有权限;
第一步:也是创建拦截器
public class IntercepterTest extends AbstractPhaseInterceptor<SoapMessage>{public IntercepterTest() {super(Phase.PRE_INVOKE);}@Overridepublic void handleMessage(SoapMessage message) throws Fault {//取出头信息,并将其转化为w3cHeader header = message.getHeaders().get(0);Element element = (Element) header.getObject();String name = element.getElementsByTagName("name").item(0).getTextContent();String password = element.getElementsByTagName("password").item(0).getTextContent();System.out.println(name+"==="+password);}}
其次,我们将添加到in的拦截器中;
//==========================================添加拦截器bean.getInInterceptors().add(new LoggingInInterceptor());bean.getOutInterceptors().add(new LoggingOutInterceptor());bean.getInInterceptors().add(new IntercepterTest());
在得到用户名和密码时,我们就可以进行权限验证了,如果没有权限让其抛个异常处理;
0 0
- webservice使用拦截器进行权限验证
- WebService(7)_Apache CXF拦截器-权限管理-登录验证
- WebService 之CXF拦截器,使用 CXF 拦截器进行简单的 head 信息验证,适合入门选手
- 使用拦截器进行权限的控制
- 使用拦截器进行权限控制
- WebService:权限控制、拦截器
- 权限拦截器 用户信息验证
- Struts2中使用拦截器 Interceptor 登陆权限验证
- 构建基于CXF的WebService服务(3)-- 利用拦截器实现权限验证
- 构建基于CXF的WebService服务(3)-- 利用拦截器实现权限验证
- Struts2使用过滤器和拦截器进行简单权限校验
- Struts2使用过滤器和拦截器进行简单权限校验
- Struts2中使用拦截器进行权限控制
- SSM项目,使用拦截器进行权限控制
- 使用HttpModule进行权限验证
- Java CXF WebService框架 集成Spring3 自定义拦截器进行头验证
- WebService拦截器实现权限控制
- 使用Struts 拦截namespace进行权限控制
- tigase组件安装及调试过程
- UVA 10340 子序列
- 匹配联系人采用的是7位还是11位匹配
- 形参和实参是不同的变量
- 一、Redis 基础命令---总括
- webservice使用拦截器进行权限验证
- mysql数据导出权限问题
- 第十二周项目一——阅读程序(3)
- java 通过反射获取泛型的类型
- javascript (function(){})()
- Doxgen+Graphiz+htmlhelp配置
- 用DOM4J包实现对xml文件按属性分离。
- 《Java虚拟机原理图解》1.4 class文件中的字段表集合--field字段在class文件中是怎样组织的
- 第11周项目5---当年第几天