gpt4 book ai didi

java - 泽西 HTTP 身份验证 :How Can I Access and the HTTP authentication in jersey restful url?

转载 作者:行者123 更新时间:2023-11-30 04:56:26 25 4
gpt4 key购买 nike

我正在用 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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com