`
laiseeme
  • 浏览: 122706 次
  • 性别: Icon_minigender_2
  • 来自: 沈阳
社区版块
存档分类
最新评论

为tomcat页面设置访问权限

阅读更多
在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>
分享到:
评论

相关推荐

    Windows7系统IIS7+Tomcat集成

    在浏览器中输入 localhost(不加 8080)访问 IIS 的服务器,可以看到 IIS 已经指向了 tomcat,为了 能更好的服务最好将两个服务器指向同一个的 Web 的目录,这样的 IIS 就支持 jsp 了,完成之 后重新启动。 在 tomcat ...

    基于ssm+shiro+redis+nginx tomcat服务器集群管理项目源码+项目说明.zip

    2.启动redis服务端,修改ssm-rs\resources\spring-config目录下spring-shiro.xml中redis的连接信息,没设置密码的话auth留空 2.创建数据库train_db并执行根目录下的train_db.sql数据库脚本 3.进入到ssm-...

    linux_centOS_5.4下部署测试环境

    如果 Tomcat 已启动,将出现 Tomcat 的欢迎页面。 2. 访问项目 在浏览器中输入以下 URL: http://10.1.1.212:8080/XXX 将访问到 XXX 项目。 在 Linux CentOS 5.4 下部署测试环境需要安装 JDK 和 Tomcat,配置...

    Java Web版SVN 远程配置管理工具

    1、部署:将下载的压缩包直接解压到Tomcat下webapps文件夹,也可以放到ROOT目录下访问的时候不用加后边的目录。 或者通过Tomcat下的conf文件夹中的配置文件来配置虚拟目录访问。 2、配置SVN仓库地址:将解压后的...

    自写博客系统

    注意:8080为安装Tomcat时设置的端口号。 (4)单击Tomcat Manager超链接,弹出“连接到 localhost”对话框。 (5)在用户名及密码处输入登录Tomcat的用户名和密码,单击【确定】按钮。 (6)进入“Tomcat应用程序...

    完整的基于JSP的博客网

    注意:8080为安装Tomcat时设置的端口号。 (4)单击Tomcat Manager超链接,弹出“连接到 localhost”对话框。 (5)在用户名及密码处输入登录Tomcat的用户名和密码,单击【确定】按钮。 (6)进入“Tomcat应用程序...

    基于Java实现的网络考试系统 + l数据库文件 + 前端页面

    服务器配置 - 操作系统:Linux、Windows - 内存:最低2G,推荐8G ...1. 设置好对应的访问权限 #### 2.2.2 RabbitMQ 1. 安装最新版本的RabbitMQ,具体安装方法,在网络上可以找到很多。 1. 配置

    SpringMVC-Mybatis-Shiro-redis-master 权限集成缓存中实例

    5.Tomcat7以上在访问JSP页面的时候,提示JSTL错误。 这个错误是因为Tomcat7 中没有 JSTL 的jar包,现在已经在项目pom.xml 中增加了如下 jar 的引入管理。 &lt;groupId&gt;javax.servlet &lt;artifactId&gt;jstl &lt;version&gt;...

    JEECMS v2.2 beta 贺岁版

    ·降低运行环境要求为jdk1.5、tomcat5.5、mysql5.0 ·增加了会员系统,为会员特设了“会员中心”控制模块 ·增加了文章浏览权限设置功能 ·修正了在linux平台下的系统部署问题 ·修正了在resin环境下的系统部署...

    BBS系统,JSP做的

     管理员:管理员可以管理用户信息及设置用户权限(普通用户或版主),评论类别管理,发表、回复、删除评论及主题信息。  版主(普通用户):可以发表、回复主题信息。  游客:只能查看语言类别,不能进行其它...

    Java数据库编程宝典2

    4.16 创建RowSet和设置属性 4.16.1 RowSet事件 4.17 元数据 4.17.1 DatabaseMetaData 4.17.2 ResultSetMetaData 4.17.3 ParameterMetaData方法 4.18 SQL数据类型的JDBC映射 4.19 SQL3数据类型 4.19.1 对象...

    Java数据库编程宝典4

    4.16 创建RowSet和设置属性 4.16.1 RowSet事件 4.17 元数据 4.17.1 DatabaseMetaData 4.17.2 ResultSetMetaData 4.17.3 ParameterMetaData方法 4.18 SQL数据类型的JDBC映射 4.19 SQL3数据类型 4.19.1 对象...

    Java数据库编程宝典1

    4.16 创建RowSet和设置属性 4.16.1 RowSet事件 4.17 元数据 4.17.1 DatabaseMetaData 4.17.2 ResultSetMetaData 4.17.3 ParameterMetaData方法 4.18 SQL数据类型的JDBC映射 4.19 SQL3数据类型 4.19.1 对象...

    Java数据库编程宝典3

    4.16 创建RowSet和设置属性 4.16.1 RowSet事件 4.17 元数据 4.17.1 DatabaseMetaData 4.17.2 ResultSetMetaData 4.17.3 ParameterMetaData方法 4.18 SQL数据类型的JDBC映射 4.19 SQL3数据类型 4.19.1 对象...

    基于JavaWeb的期刊管理系统+课设报告.zip

    7、配置你的tomcat(idea右上角添加运行配置,导入你的tomcat,然后idea会提示修正项目,修正即可,之后,上面会显示工程访问路径,点击就可以访问 项目采用技术 ## 后端 1. Junit测试 2. JDK17 进行开发 3. 采用...

    服务器配置.docx

    设置访问服务器数据库的权限,%表示所有IP地址都能访问 服务器配置全文共8页,当前为第5页。 配置https环境 进入的JDK下的bin目录 同时按住键盘的win+R键,在输入框内输入cmd点击确定 切换到JDK的bin目录下输入如下...

    智能发票识别系统后台.zip

    JSP控制cookies和session,在页面跳转时记录会话用户态,并可通过前端可视化界面对用户权限(用户权限分为继承的用户组权限和个人权限)进行编辑 识别算法的可视化通过websocket实现,算法端将每个区域的识别结果...

    因酷时代(inxedu)在线教育系统源码 BecauseCoolTimesInlineEducation.rar

    管理者可以针对不同的用户设置不同的权限,限制特定用户的访问,不同的角色拥有不同的管理权限;老师可以使用因酷云视频提供的点播直播服务,也可以使用第三方的云视频服务;并且可以添加修改课程和课程专业, 对课程...

    基于J2EE框架的个人博客系统项目毕业设计论文(源码和论文)

    管理员进入登录后,可对帐户进行管理,包括添加管理员帐户、修改管理员帐户、删除管理员帐户和对帐户进行权限设置。 博客用户通过前台登录后,可对自己的博客空间进行管理,包括发布自己的网络日志、收藏个人图片...

    因酷时代开源网校系统源码

    管理者可以针对不同的用户设置不同的权限,限制特定用户的访问.不同的角色拥有不同的管理权限,老师可以使用因酷云视频提供的点播和直播服务,也可以使用第三方的云视频服务,并且可以添加修改课程和课程专业, 对课程...

Global site tag (gtag.js) - Google Analytics