分析意义:目前azkaban采用的是azkaban-users.xml配置文件的方式,配置登录用户。如果公司需要二次开发,增加安全性和便捷性,想从数据库取值呢,该如何着手开发呢?本文分析登录过程,便于进行azkaban的二次登录开发。
1、登录请求地址,请求方式和参数
请求地址:http://xxxxx:port/index
方式:POST
参数:action=login&username=azkaban&password=azkaban
2、Index注入分析
在AzkabanWebServer中有一个configureRoutes放入,注入了一个ProjectServlet作为index的Servlet请求载体类
3、ProjectServlet分析,继承自LoginAbstractAzkabanServlet
public class ProjectServlet extends LoginAbstractAzkabanServlet,且init方法调用了super.init(config);
4、分析LoginAbstractAzkabanServlet方法
protected void doPost(final HttpServletRequest req, final HttpServletResponse resp)方法中有一个判断
else if (hasParam(req, "action") && get