如何让你的web具备权限认证

大多数Web系统都有权限需求,前面已经了解了它的整个认证过程的原理,这节将讲述如何在Tomcat中配置web资源的权限。先以Tomcat默认的认证模式Basic和默认的域UserDatabaseRealm为例,看看如何完成整个配置的。

首先,配置server.xml文件,配置一个名为UserDatabase的数据源,它绑定的存储文件为conf/tomcat-users.xml。然后在Realm节点中引用名为UserDatabase的数据源,这里的realm属于Engine容器级别共享。

<Server>

...

<GlobalNamingResources>

    <Resource name="UserDatabase" auth="Container"

              type="org.apache.catalina.UserDatabase"

              description="User database that can be updated and saved"

              factory="org.apache.catalina.users.MemoryUserDatabaseFactory"

              pathname="conf/tomcat-users.xml" />

  </GlobalNamingResources>

...

<Engine>

<Realm className="org.apache.catalina.realm.UserDatabaseRealm"

               resourceName="UserDatabase"/>

</Engine>

...

</Server>

其次,配置tomcat-users.xml文件,定义一个名为tomcatRole的角色,再定义一个用户名为tomcat、密码为tomcat的用户,并赋予其tomcatRole角色。

<tomcat-users>

  <role rolename="tomcatRole"/>

  <user username="tomcat" password="tomcat" roles="tomcatRole"/>

</tomcat-users>

最后,配置web应用的web.xml文件,配置了该web应用security目录下的资源需要tomcatRole角色才能访问。并配置采用BASIC认证模式。

  <security-constraint>

    <web-resource-collection>

      <web-resource-name>security resource</web-resource-name>

      <url-pattern>/security/*</url-pattern>

    </web-resource-collection>

    <auth-constraint>

       <role-name>tomcatRole</role-name>

    </auth-constraint>

  </security-constraint>

  <login-config>

    <auth-method>BASIC</auth-method>

    <realm-name>Tomcat Manager Application</realm-name>

  </login-config>

所有上面全部配置完成后就实现权限认证功能了,当用户访问/security/*对应的资源时浏览器会弹出用户名密码输入框,用户输入后才可以访问。另外realm和认证模式都可以根据实际情况配置成其他类型。

点击订购作者《Tomcat内核设计剖析》

时间: 2024-10-09 08:41:11

如何让你的web具备权限认证的相关文章

SpringBoot学习:整合shiro(身份认证和权限认证),使用EhCache缓存

项目下载地址:http://download.csdn.NET/detail/aqsunkai/9805821 (一)在pom.xml中添加依赖:   [html] view plain copy   <properties>       <shiro.version>1.3.2</shiro.version>   </properties>   [html] view plain copy   <!--shiro start-->       

Web APi之认证(Authentication)两种实现方式后续【三】(十五)

前言 之前一直在找工作中,过程也是令人着实的心塞,最后还是稳定了下来,博客也停止更新快一个月了,学如逆水行舟,不进则退,之前学的东西没怎么用,也忘记了一点,不过至少由于是切身研究,本质以及原理上的脉络还是知其所以然,所以也无关紧要,停止学习以及分享是一件很痛苦的事情,心情很忐忑也很担忧,那么多牛逼的人都在无时无刻的学习更何况是略懂皮毛的我呢?好了,废话说了不少,我们接下来进入主题. 话题 看到博客也有对于我最近有关Web APi中认证这篇文章的评论和疑问,[其中就有一个是何时清除用户的信息呢],

Fortinet 荣获VB Web安全测试认证

Web防御能力竞争评估是Virus Bulletin的一项新的认证评估项目,是对基于web威胁防御能力的比拼验证.Fortinet是唯一一家公开了这项业界第三方且公正独立的Web过滤服务的安全有效性测试结果的厂商.Fortinet提供的网页过滤服务是对恶意网页内容的防御,包括恶意广告.易受攻击的浏览器插件等,保护用户本地网络内容的安全. "Fortinet 一直坚持并很荣幸将产品与技术交付于独立第三方机构进行验证与测试.VB可以说是安全行业中的"试金石"之一,是用户购买决策时

【Shiro】Shiro从小白到大神(三)-权限认证(授权)

本节讲权限认证,也就是授权 基于角色的访问控制和基于权限的访问控制的小实例 以及注解式授权和JSP标签授权详解 权限认证 权限认证核心要素 权限认证,也就是访问控制,即在应用中控制谁能访问哪些资源 在权限认证中,最核心的三个要素是:权限,角色和用户 (资源也算一个要素,但不是最核心的) 权限,即操作资源的 权限,比如访问某个页面,以及对某个模块的数据的添加,修改,删除,查看的权利(整合以后,其实就是一些对URL请求的权限) 角色,是权限的集合,一种角色可以包含多种权限(将权限赋给角色) 用户,在

tplink[无线控制器] WEB无感知认证的使用方法

WEB无感知认证是基于WEB认证基础上,客户端首次认证通过后,用户再次进入WLAN网络覆盖区域实现自动进行认证,终端无需操作.避免了传统WEB认证方式带来的繁琐操作,极大提升了用户的业务使用体验. 本文介绍WEB无感知认证的设置方法.目前仅TL-AC1000和TL-AC10000支持WEB无感知认证,TL-AC100和TL-AC200不支持. 点击 认证管理 > Portal认证 > WEB认证,点击 新增,WEB无感知认证设置如下. 设置完成后,点击 设置 确定新增.

ThinkPHP权限认证Auth实例详解_php实例

本文以实例代码的形式深入剖析了ThinkPHP权限认证Auth的实现原理与方法,具体步骤如下: mysql数据库部分sql代码: -- ---------------------------- -- Table structure for think_auth_group -- ---------------------------- DROP TABLE IF EXISTS `think_auth_group`; CREATE TABLE `think_auth_group` ( `id` m

Web APi之认证(Authentication)两种实现方式【二】(十三)

前言 上一节我们详细讲解了认证及其基本信息,这一节我们通过两种不同方式来实现认证,并且分析如何合理的利用这两种方式,文中涉及到的基础知识,请参看上一篇文中,就不再叙述废话. 序言 对于所谓的认证说到底就是安全问题,在Web API中有多种方式来实现安全,[accepted]方式来处理基于IIS的安全(通过上节提到的WindowsIdentity依赖于HttpContext和IIS认证)或者在Web API里通过使用Web API中的消息处理机制,但是如果我们想应用程序运行在IIS之外此时Wind

mongdb 复制集+仲裁(带权限认证)

原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://navyaijm.blog.51cto.com/4647068/1685347 一.环境 1.架构图 2.部署详细 1 2 3 10.10.17.26:27000 (primary) 10.10.17.27:27000 (secondary) 10.10.2.74:27000    (arbiter) 3.软件版本 1 2 mongdb :2.6.11 系统:centos 6.6

Swift实现HTTP网络操作库Alamofire使用详解4(用户权限认证)

  八,使用Alamofire进行用户认证 1,Alamofire支持如下几种认证(Authentication) 本文讲解使用 Alamofire 进行 HTTP Basic 验证. 2,HTTP Basic认证介绍 (1)HTTP Basic认证是允许HTTP服务器对WEB浏览器进行用户身份证的方法. (2)当一个客户端向HTTP服务器进行数据请求时,客户端会接收到HTTP服务器的身份认证要求,这时客户端会提示用户输入用户名及密码,然后将用户名及密码以BASE64加密.并于每次请求数据时,将