`

在Tomcat中为页面设置访问权限

阅读更多

在web应用中,对页面的访问控制通常通过程序来控制,流程为:登录 -> 设置session -> 访问受限页面时检查session是否存在,如果不存在,禁止访问。对于较小型的web应用,可以通过tomcat内置的访问控制机制来实现权限控制。采用这种机制的好处是,程序中无需进行权限控制,完全通过对tomcat的配置即可完成访问控制。

为了在tomcat页面设置访问权限控制,在项目的WEB-INFO/web.xml文件中,进行如下设置:

<web-app>

<!--servlet等其他配置-->

<security-constraint>
<web-resource-collection>
<display-name>Example Security Constraint</display-name>
<web-resource-name>my example</web-resource-name>
<url-pattern>/first/*</url-pattern>
</web-resource-collection>
<auth-constraint>
<role-name>admin</role-name>
</auth-constraint>
</security-constraint>

<!-- 这是BASIC验证 -->
<login-config>
<auth-method>BASIC</auth-method>
<realm-name>my example11</realm-name>
</login-config>

<security-role>
<description>
The role that is required to log into the sample application
</description>
<role-name>admin</role-name>
</security-role>
</web-app>

■<security-constraint>配置安全约束
■<web-resource-collection>声明受保护的WEB资源
■<web-resource-name> 标识受保护的WEB资源。
■<url-pattern>中指定受限的url,可以使用通配符*,通常对整个目录进行访问权限控制。
■<auth-constraint>指定哪些角色可以访问url-pattern指定的url。其中可以指定多个role-name,使用的角色名来自tomcat的配置文件CATALINA_HOME/conf/tomcat-users.xml。可以自行在tomcat-users.xml中添加role或user。

■<login-config>配置安全验证登录界面,设置登录方式。
■<realm-name> 设定安全域的名称
■<auth-method>指定验证方法,它有三个可选值:BASIC(基本验证)、DIGEST(摘要验证)、FORM(表单验证) .如果为BASIC,浏览器在需要登录时弹出一个登录窗口。如果为FORM方式,需要指定登录页面和登录失败时的提示信息显示页面。
使用FORM方式的配置样例如下:

<!-- 这是FORM验证 -->
<login-config>
<auth-method>FORM</auth-method>
<realm-name>my example</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="j_security_check">
<input type="text" name="j_username"><br>
<br>
<input type="password" name="j_password"><br>
<br>
<input type="submit" value="login">
<input type="reset" value="reset">
</form>

以下是基于DIGEST验证:

<login-config>
<auth-method>DIGEST</auth-method>
<realm-name>Sessiontest Realm</realm-name>
</login-config>

■<security-role>配置对安全验证角色的引用。一定要加,否则无法使用登陆验证。

分享到:
评论

相关推荐

    tomcat 安装下载

    7. **安全注意事项**:默认情况下,Tomcat的Manager App和Host Manager App的访问权限是开放的,为了安全,应修改`conf/tomcat-users.xml`文件,限制这些应用的访问权限。 Apache Tomcat 5.5.23虽然已经是一个较旧...

    提供一个《在Tomcat部署和发布Web应用》的入门教程

    6. **安全性**:为了保护Web应用,应设置合适的访问权限,例如使用Tomcat Realm配置用户认证,或通过SSL/TLS加密通信。 7. **性能优化**:可以调整Tomcat的连接器配置,如最大线程数、超时时间等,以适应不同负载...

    apache-tomcat-6.0.37

    要访问这些工具,你需要在`conf/tomcat-users.xml`中为特定用户分配相应的角色。 总的来说,Apache Tomcat 6.0.37是一个强大且灵活的Java Web应用服务器,它为开发者提供了创建和部署动态Web内容的平台。尽管现在...

    apache-tomcat-7.0.65.zip

    启动成功后,可以在浏览器中访问`http://localhost:8080`查看Tomcat默认的欢迎页面。 **配置与管理** `conf`目录下的配置文件对Tomcat的行为有重大影响。例如,`server.xml`是主配置文件,其中可以设置端口号、连接...

    apache-tomcat-8.0.18-windows-x86

    - 使用Manager应用(需在`conf/tomcat-users.xml`中为用户分配相应角色)进行远程部署和管理。 5. **Tomcat与Java Web开发**: - 开发者通常使用IDE如Eclipse或IntelliJ IDEA集成Tomcat,方便调试和部署。 - ...

    tomcat6.0 安装版

    Tomcat的管理可以通过内置的Manager应用进行,需要在`conf/tomcat-users.xml`中为用户分配相应的角色权限。 8. **安全性**:考虑到ExtJS 2.0可能涉及到敏感数据,你需要对部署的应用进行安全配置,包括设置HTTPS、...

    tomcat服务器

    这些功能需在`conf/tomcat-users.xml`中为用户分配相应角色权限。 7. **安全性**: Tomcat的安全配置包括SSL/TLS支持、用户认证、角色授权等。`server.xml`中的`&lt;Realm&gt;`元素定义了身份验证机制,如简单的文件系统...

    Tomcat本地服务器

    这些应用需要在`conf/tomcat-users.xml` 文件中为特定用户分配相应的角色权限。 四、安全性 Tomcat的安全性主要通过SSL/TLS配置实现,可以在`server.xml` 的`Connector` 元素中配置证书和密钥库,以启用HTTPS服务...

    SAKAI 安裝報告

    - 访问官方归档页面下载Tomcat 5.5.33版本:[https://archive.apache.org/dist/tomcat/tomcat-5/v5.5.33/bin/](https://archive.apache.org/dist/tomcat/tomcat-5/v5.5.33/bin/) - 下载`apache-tomcat-5.5.33.tar....

    最简单的Struts2的代码示例

    Struts2支持动态方法调用,这意味着你无需在配置文件中为每个Action方法定义单独的action元素。只要方法名符合约定,Struts2可以自动找到并执行相应的方法。 7. **结果类型与结果配置**: 结果类型是Struts2提供...

    测试培训教材

    在页面中选择最后一项“下载用于 Mercury Quality Center 9.0 的插件”进行下载。 下载完成后请按如下步骤进行需求导入: 1.安装QC9.0需求案例Excel导入软件QCMSExcelAddin.exe。执行安装前请先确保你的系统已经...

Global site tag (gtag.js) - Google Analytics