KB2*_*B22 7 java configuration tomcat
我认为我遇到了一些配置问题.我需要保护我的实际tomcat应用程序中的文件夹不受某个IP范围的访问.
我以为这是服务器故障,所以我在那里发布了这个问题.现在我不确定这是SO还是SF呢......
尽管如此,我还是一直在尝试自己去做,并认为我需要设置它
org.apache.catalina.valves.RemoteAddrValve
Run Code Online (Sandbox Code Playgroud)
对于我的那个文件夹.可悲的是,我无法得到我需要的地方.web.xml,server.xml?试过这两个,成功无效.任何人都可以帮我解决这个问题.
TIA
ķ
它应该进入<Context>server.xml中的元素:
<Context
path="/tcadmin"
docBase="${catalina.home}/server/webapps/admin"
privileged="true"
>
<Valve className="org.apache.catalina.valves.RemoteAddrValve"
allow="127\.0\.0\.1"
/>
</Context>
Run Code Online (Sandbox Code Playgroud)
请记住,字符串值是正则表达式模式,因此必须使用反斜杠转义特殊的正则表达式字符(例如点(.)).
编辑:回复OP的评论.我认为您需要在Web应用程序中实现FILTER并将其配置为根据其远程地址IP接受或拒绝请求.可以从ServletRequest传递给doFilter方法的对象中检索远程地址.
您在web.xml文件中声明了一个过滤器:
<filter>
<filter-name>GatekeeperFilter</filter-name>
<filter-class>your.package.GatekeeperFilter</filter-class>
<init-param>
<param-name>allowedNetwork</param-name>
<param-value>192\.168\.2\.*</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>GatekeeperFilter</filter-name>
<url-pattern>/path/to/protected/folder</url-pattern>
</filter-mapping>
Run Code Online (Sandbox Code Playgroud)
阅读链接文章,了解接受init参数需要做些什么.我认为,对于您的决策,您可以无耻地复制RequestDumperValve中的代码.
| 归档时间: |
|
| 查看次数: |
20491 次 |
| 最近记录: |