在正常访问的web-app标签下,增加一个security-constrain标签即可,如下:
<host id="" root-directory="."> <web-app id="/admin" document-directory="/opt/www/admin" archive-path="/opt/war/admin.war" character-encoding="utf-8"> <security-constraint> <web-resource-collection> <url-pattern>/*</url-pattern> </web-resource-collection> <ip-constraint> <allow>192.168.0.0/16</allow> <allow>10.0.0.0/8</allow> </ip-constraint> </security-constraint> </web-app> </host>
url-pattern是过滤的url
allow标签表示允许访问的ip地址,默认是允许所有的。
还可以配置<deny>标签,以拒绝特定的ip。
这里的ip地址格式可以查看wiki : http://zh.wikipedia.org/wiki/IPv4 ,比如:
10.0.0.0/8 专用网络(私有网络)
192.168.0.0/16 专用网络
xxx.0/16表示这个网段的掩码,前面是16个1,即11111111.11111111.00000000.00000000
即所有192.168开头的私网地址
除了为内网开放ip权限,还可以为外网开放,比如为某个ip开放,<allow>192.168.0.101<allow>
2.用户名密码限制
在正常访问的web-app标签下,增加authenticator、login-config、security-constraint就可以配置用户名密码
<host id="" root-directory="."> <web-app id="/admin" document-directory="/opt/www/admin" archive-path="/opt/war/admin.war" character-encoding="utf-8"> <authenticator type="com.caucho.server.security.XmlAuthenticator"> <init> <!-- username:password:role --> <user>user:pass:cms</user> <password-digest>none</password-digest> </init> </authenticator> <login-config auth-method='basic'/> <security-constraint url-pattern='/*' role-name='cms'/> </web-app> </host>