webservice 安全认证请求头信息

java:
import java.io.IOException;
import java.util.Enumeration;

import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.annotation.WebFilter;
import javax.servlet.http.HttpServletRequest;

import org.apache.commons.codec.binary.Base64;


@WebFilter("/webservice/*")
public class AuthFilter implements Filter {


public AuthFilter() {

}


public void destroy() {

}


public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)
throws IOException, ServletException {

HttpServletRequest req = (HttpServletRequest) request;
Enumeration<String> enums = req.getHeaderNames();

System.out.println("header start ******");

while(enums.hasMoreElements()){

String header = enums.nextElement();
System.out.println(header+" = "+req.getHeader(header));

if("authorization".equals(header)){
String auth = req.getHeader(header);
auth = auth.substring(6);

String pwd = "songrenfei:06123";
pwd = new String(Base64.encodeBase64(pwd.getBytes()));
System.out.println("auth = "+auth);
System.out.println("pwd = "+pwd);
if(pwd.equals(auth)){
System.out.println("SOAP权限验证成功!");
}
}

}

System.out.println("header end ******");

chain.doFilter(request, response);
}


public void init(FilterConfig fConfig) throws ServletException {

}

}


.net
#region 验证手机审批
public static bool WindowValate()
{
return true;
bool result = false;
string name = "";
try
{
name = HttpContext.Current.Request.Headers.GetValues("Authorization")[0];
name = name.Trim().Replace("Basic", "");
name = Base64StringDecode(name);
string[] parm = name.Split(':');
result = ValideUser(parm[0], parm[1]);
}
catch (Exception e)
{
return result;
}
return result;
}
private static bool ValideUser(string in_UserName, string in_PassWord)
{
if ((in_UserName == "zbcgmb") && (in_PassWord == "1234567890"))
{
return true;
}
else
{
return false;
}
}

private static string Base64StringDecode(string input)
{
byte[] decbuff = Convert.FromBase64String(input);
return System.Text.Encoding.UTF8.GetString(decbuff);
}
#endregion


---------webservice调用部分
[WebMethod(EnableSession = true)]
public string GetJsonTodoTableData(string loginname, int nowpage, int pages)
{
if (!SourceVerification.WindowValate())
//验证失败
strRetrn = "";
else
//验证成功后的业务逻辑

}
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值