You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
27 lines
844 B
27 lines
844 B
package middleware;
|
|
|
|
/**
|
|
* 认证中间件装饰器
|
|
* 具体装饰器类,用于验证请求的认证信息
|
|
*/
|
|
public class AuthMiddleware extends MiddlewareDecorator {
|
|
|
|
public AuthMiddleware(HttpRequestHandler decoratedHandler) {
|
|
super(decoratedHandler);
|
|
}
|
|
|
|
@Override
|
|
public HttpResponse handle(HttpRequest request) {
|
|
// 简单的认证检查逻辑
|
|
String authHeader = request.getHeaders();
|
|
if (authHeader != null && authHeader.contains("Authorization: Bearer token123")) {
|
|
System.out.println("Authentication successful");
|
|
return super.handle(request);
|
|
} else {
|
|
HttpResponse response = new HttpResponse();
|
|
response.setStatusCode(401);
|
|
response.setBody("Unauthorized");
|
|
return response;
|
|
}
|
|
}
|
|
} |