背景需求
最近项目文档用gitbook写的,想把文档发布成网页版访问格式,于是用gitbook build命令生成html静态资源文件夹,然后把静态资源文件夹放到了tomcat下,发布成web服务,但为了让文档达到一定保密性,想设置用户名密码访问,使用了tomcat自带的用户权限功能,以下是操作步骤
操作步骤
1、拷贝WEB-INF目录到项目下
这点非常重要,之前在网上搜教程,说要去编辑WEB-INF下web.xml文件添加权限,由于gitbook build生成的文件夹里没有WEB-INF这个目录,于是自己便去tomcat webapps下ROOT下WEB-INF下进行修改,结果咋搞都不起作用(折腾了几个小时,差点怀疑人生),最后看到有篇文章说没有可以拷贝别的项目(例如examples)下的WEB-INF到自己项目下,才恍然大悟,结果试了终于好使了!!!
2、编辑web.xml,添加权限配置
<security-constraint>
<web-resource-collection>
<url-pattern>/*</url-pattern>
</web-resource-collection>
<auth-constraint>
<role-name>booktest</role-name>
</auth-constraint>
</security-constraint>
<security-role>
<role-name>booktest</role-name>
</security-role>
<login-config>
<auth-method>BASIC</auth-method>
<realm-name>tomcat</realm-name>
</login-config>
login-config 下realm-name可以随便命名
3、配置用户
编辑tomcat conf 下的tomcat-user.xml,为角色添加用户
<role rolename="booktest"/>
<user username="bookuser" password="123456" roles="booktest"/>
4、大功告成,验证
重启tomcat,再次访问,提示输入用户名密码