在web应用中,对页面的访问控制通常通过程序来控制,流程为:
登录 -> 设置session -> 访问受限页面时检查session是否存在,如果不存在,禁止访问
对于较小型的web应用,可以通过tomcat内置的访问控制机制来实现权限控制。采用这种机制的好处是,程序中无需进行权限控制,完全通过对tomcat的配置即可完成访问控制。
为了在tomcat页面设置访问权限控制,在项目的WEB-INFO/web.xml文件中,进行如下设置:
<web-app>
<!--servlet等其他配置-->
<security-constraint>
<web-resource-collection>
<web-resource-name>My Test</web-resource-name>
<url-pattern>/admin/*</url-pattern>
</web-resource-collection>
<auth-constraint>
<role-name>role1</role-name>
<role-name>tomcat</role-name>
</auth-constraint>
</security-constraint>
<login-config>
<auth-method>BASIC</auth-method>
<realm-name>My Test</realm-name>
</login-config>
其中,<url-pattern>中指定受限的url,可以使用通配符*,通常对整个目录进行访问权限控制。
<auth-constraint>中指定哪些角色可以访问<url-pattern>指定的url,在<role-name>中可以设置一个或多个角色名。
使用的角色名来自tomcat的配置文件${CATALINA_HOME}/conf/tomcat-users.xml。
<login-config>中设置登录方式,<auth-method>的取值为BASIC或FORM。如果为BASIC,浏览器在需要登录时弹出一个登录窗口。如果为FORM方式,需要指定登录页面和登录失败时的提示信息显示页面。
使用FORM方式的配置样例如下:
<login-config>
<auth-method>FORM</auth-method>
<realm-name>Example Form-Based Authentication Area</realm-name>
<form-login-config>
<form-login-page>/login.jsp</form-login-page>
<form-error-page>/error.jsp</form-error-page>
</form-login-config>
</login-config>
其中的<form-login-page>指定登录页面url,<form-error-page>指定登录失败时的提示页面url。
登录页面中,form的action,以及其中的用户名和密码两个参数的名称,都应取固定的值。登录的后台处理程序为j_security_check;用户名和密码的参数名称分别为:j_username和j_password。
如下是登录页面(如:login.jsp)的一段示例代码:
<form method="POST" action='<%= response.encodeURL("j_security_check") %>' >
<table border="0" cellspacing="5">
<tr>
<th align="right">Username:</th>
<td align="left"><input type="text" name="j_username"></td>
</tr>
<tr>
<th align="right">Password:</th>
<td align="left"><input type="password" name="j_password"></td>
</tr>
<tr>
<td align="right"><input type="submit" value="Log In"></td>
<td align="left"><input type="reset"></td>
</tr>
</table></form>
分享到:
相关推荐
- 对于安全性较高的生产环境,建议不要开放所有IP地址对管理页面的访问权限,而是根据实际需求进行细粒度的权限控制。 - 定期更换管理界面的用户名和密码,提高系统的安全性。 综上所述,通过调整Tomcat用户的权限...
5. **访问Tomcat**:使用浏览器访问服务器的IP地址加端口号(默认为8080),如`http://your_ip:8080`,若能正常显示Tomcat的欢迎页面,则表示安装成功。 **设置开机启动:** 为了使Tomcat在每次系统启动时自动运行...
这样,只有拥有`test`角色的用户才能访问那些需要该角色权限的资源。 #### 三、访问控制配置 访问控制是通过`web.xml`文件来实现的,用于指定哪些用户或角色可以访问特定的URL资源。下面是一个具体的示例: ```...
3. **权限问题**:确保Tomcat用户有足够的权限访问指定的应用目录。 4. **日志监控**:配置完成后,密切关注Tomcat的日志文件,以便及时发现并解决问题。 通过以上步骤,我们可以有效地为Tomcat配置虚拟主机和虚拟...
AWStats是一款开源的Web服务器统计分析软件,它可以实时或者定期分析服务器的访问日志,提供详细的访问报告,包括访问者数量、页面浏览量、搜索引擎关键词、访问来源等信息。 在Tomcat中配置访问日志,首先需要了解...
- 浏览器访问设置好的域名,检查是否能正常访问部署在Tomcat上的Web应用。 #### 四、总结 本文详细介绍了如何通过Apache与Tomcat 6的整合实现域名直接访问Web应用的过程。整个流程涉及到了必要的软件下载安装、...
本篇将深入探讨Tomcat的权限验证机制,以及如何实现登录和注销功能。 Tomcat的权限验证主要依赖于其内置的安全组件,包括Realm和Role。Realm是Tomcat中的认证机制,它负责验证用户的身份,而Role则是定义了用户的...
接下来,你可以通过服务管理工具(如服务管理器或命令行的`sc`命令)设置新创建的Tomcat服务为开机自动启动。 8. 开启Tomcat服务后,系统会在后台运行,不再显示控制台窗口。你可以通过访问Tomcat的Web应用来验证...
这个文件控制着Manager应用的访问权限。 2. 如果遇到权限问题,检查防火墙设置,确保8080端口对外开放。 3. 如果在访问管理页面时遇到403错误,检查`tomcat-users.xml`文件中的角色和用户是否正确配置。 4. 确保`...
这里以JDK 6 Update 13为例,可以访问Sun Microsystems的官方网站(现在已被Oracle收购)下载对应的JDK安装包。下载地址为:`http://java.sun.com/javase/downloads/index.jsp?intcmp=1281`。 **步骤2:安装JDK** ...
- `web.xml`中的安全约束和角色定义控制对Web应用的访问权限。 - SSL/TLS配置可以保护数据传输,通过`server.xml`中的`<Connector>`元素启用。 5. **性能优化**: - 调整连接器的最大连接数、空闲超时、线程池...
在大多数Linux发行版中,可以将Tomcat的启动脚本`/apache-tomcat-7.0.57/bin/startup.sh`链接到`/etc/init.d`目录下,并设置相应的启动级别: ```bash sudo ln -s /path/to/apache-tomcat-7.0.57/bin/startup.sh /...
2. **`jvmRoute`设置**:为每个集群节点分配唯一的`jvmRoute`值,例如`Tomcat1`,以便集群管理器可以识别不同的节点。 3. **集群通信配置**:配置`Cluster`元素,设定接收器的监听端口`tcpListenPort`,例如`10011`...
3. **权限控制**:使用`<security-constraint>`和`<login-config>`元素限制Web应用的访问权限。 ### 监控与日志 1. **JMX监控**:通过Java Management Extensions (JMX) 可以远程监控Tomcat的状态和性能。 2. **...
3. 选择"Binary Distributions"下的"Core",然后找到对应的Windows Service Installer(对于64位系统,文件名为`windows-x64/service-installer.zip`)或ZIP Archive(文件名为`windows-x64/apache-tomcat-8.0.30....
为了保证安全性,还需要进一步设置Tomcat Admin的访问权限: 1. **创建用户**: - 编辑`conf/tomcat-users.xml`文件,添加管理员用户。 ```xml ``` 2. **重启Tomcat**: - 保存文件并重启Tomcat服务。 3. ...
9. **安全与优化**:为了提高安全性,应配置Tomcat的`server.xml`文件,例如限制连接器的端口访问、启用SSL、设置用户权限等。同时,根据服务器的硬件配置调整Tomcat的JVM参数,如堆大小、线程池大小等,以优化性能...
- **安全性考虑**:在生产环境中,建议对访问权限进行适当的限制,防止未授权访问或恶意攻击。 #### 五、总结 通过以上步骤,我们可以成功地将Tomcat的默认主页更改为自定义页面。这对于构建类似搜狐这样的大型网站...