ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

侠梦说pinpoint-增加web认证Basic Authentication

2019-12-26 22:56:02  阅读:298  来源: 互联网

标签:web 侠梦说 admin 认证 Authentication 轮子 password pinpoint


前言

最近,许多小伙伴吐槽pinpoint-web没有登录认证的问题,隐约记得在web的properties文件中有一个passoword配置,检查后发现这个配置是用于,带admin接口的接口认证用的。

file

还被官方打上了FIXME,这是要“裸奔”的节奏啊。

思路

首先还是看官网,着急使用的话还是不要重复造轮子了,说不准已经有现成的解决思路了。找来找去我也只发现了这个:

file

其中的一个Commiter明确指出pinpoint不提供认证,需要自己实现。
好吧,那我们就来自己造个轮子把。

改造过程

pinpoint-web 后端接口采用的是Spring MVC来实现。为了简单快捷的实现我们的要求,这里我直接采用了servlet中的Filter + Basic Authentication来实现。

前面提到的admin.password由于可能在后期版本中移除,所以我们还是新建用户名和密码两个配置吧。

通过在web.xml给Filter注入参数的方式注入进去。细节可以参考源码和下面的部署方式。

部署方式

方式一、

当然可以加入认证的Filter类后,完全编译pinpoint-web。

但是我相信研究过pinpoint源码的小伙伴都感受过那漫长的等待过程。所以建议使用方式二进行部署。

方式二

以将pinpoint-web部署到tomcat为例。

1、在web.xml中增加如下配置:

<filter>
        <filter-name>basicAuthenticationFilter</filter-name>
        <filter-class>com.navercorp.pinpoint.web.interceptor.BasicAuthenticationFilter</filter-class>
          <init-param>
            <param-name>admin.username</param-name>
            <param-value>hyq</param-value>
        </init-param>
​
        <init-param>
            <param-name>admin.password</param-name>
            <param-value>hyq</param-value>
        </init-param>
</filter>
<filter-mapping>
  <filter-name>basicAuthenticationFilter</filter-name>
  <url-pattern>/*</url-pattern>
</filter-mapping>

其中admin.username和admin.password
是你自己设置的密码,一定要拿小本子记好。

2、将BasicAuthenticationFilter.class这个class文件拷贝
到com/navercorp/pinpoint/web/interceptor包下。

file

3.重启pinpoint-web服务。

大功告成

file

都说要避免重复造轮子

但是每一个轮子都有他的意义

有问题可直接在公众号回复与侠梦联系

对了,侠梦的开发笔记 回复【认证】

可以获得源代码和编译好的class

希望这篇文章能够帮到你。

欢迎来公众号【侠梦的开发笔记】 一起交流进步

标签:web,侠梦说,admin,认证,Authentication,轮子,password,pinpoint
来源: https://www.cnblogs.com/hyq0823/p/12104928.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有