作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在用 Jersey 编写一个 Restful Web 服务,这是示例代码:
@GET
@Produce(MediaType.APPLICATION_JSON)
public String findItems(){
...
}
findItem 的 url 是 localhost:8080/items该方法应该在执行之前验证该 url 的 http 身份验证信息(摘要或基本),如何首先从 url 请求访问身份验证?
最佳答案
我不会将其放在 Controller 本身中,而是放在您希望保护的资源类周围的 com.sun.jersey.spi.container.ContainerRequestFilter 中,但应该给您基本的想法。
@Context
private HttpServletRequest request;
@GET
@Produce(MediaType.APPLICATION_JSON)
public String findItems(){
String auth = request.getHeader("authorization");
if (auth != null) {
String basic_prefix = "Basic ";
if (auth.startsWith(basic_prefix)) {
String auth_data = new String(Base64.decode(auth.substring(basic_prefix.length())));
String [] user_and_key = auth_data.split(":", 2);
// user and password available here
} else {
// reject access
}
} else {
// reject access
}
}
关于java - 泽西 HTTP 身份验证 :How Can I Access and the HTTP authentication in jersey restful url?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8387301/
我是一名优秀的程序员,十分优秀!