一:新建一個IpRequestOriginParser類,實現RequestOriginParser接口,配置如下
public class IpRequestOriginParser implements RequestOriginParser {/*** Parse the origin from given HTTP request.** @param request HTTP request* @return parsed origin*/@Overridepublic String parseOrigin(HttpServletRequest request) {return request.getRemoteAddr();}
}
二:新建一個SentinelConfig類,配置如下
@Configuration
public class SentinelConfig {@PostConstructpublic void init() {WebCallbackManager.setUrlBlockHandler(new DemoUrlBlockHandler());WebCallbackManager.setRequestOriginParser(new IpRequestOriginParser());}
}
三:新建一個DemoUrlBlockHandler類,實現UrlBlockHandler接口,配置如下
public class DemoUrlBlockHandler implements UrlBlockHandler {
@Override
public void blocked(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, BlockException e) throws IOException {
httpServletResponse.getWriter().println(“error url”);
}
}
四:訪問一次/white接口,sentinel控制臺就會出現地址了,是懶加載的
五:點擊授權規則,新增授權規則,輸入路徑,點擊白名單
六:在瀏覽器訪問/white接口,可以看到有返回值
七:修改授權類型為黑名單,在次訪問接口,可以看到報錯