网站运营
位置:首页>> 网站运营>> Linux精华 Tomcat配置技巧详解分析(4)

Linux精华 Tomcat配置技巧详解分析(4)

 来源:asp之家 发布时间:2010-05-07 18:01:00 

标签:linux,tomcat,配置

6、配置单点登录(Single Sign-On)
  
  一旦你设置了realm和验证的方法,你就需要进行实际的用户登录处理。一般说来,对用户而言登录系统是一件很麻烦的事情,你必须尽量减少用户登录验证的次数。作为缺省的情况,当用户第一次请求受保护的资源时,每一个web应用都会要求用户登录。
  
  如果你运行了多个web应用,并且每个应用都需要进行单独的用户验证,那这看起来就有点像你在与你的用户搏斗。用户们不知道怎样才能把多个分离的应用整合成一个单独的系统,所有他们也就不知道他们需要访问多少个不同的应用,只是很迷惑,为什么总要不停的登录。
  
  Tomcat 4的“single sign-on”特性允许用户在访问同一虚拟主机下所有web应用时,只需登录一次。为了使用这个功能,你只需要在Host上添加一个SingleSignOn Valve元素即可,如下所示:
  
  <Valve className=
  "org.apache.catalina.
  authenticator.SingleSignOn"
  debug="0"/>
  
  在Tomcat初始安装后,server.xml的注释里面包括SingleSignOn Valve配置的例子,你只需要去掉注释,即可使用。那么,任何用户只要登录过一个应用,则对于同一虚拟主机下的所有应用同样有效。使用single sign-on valve有一些重要的限制:
  
  1> value必须被配置和嵌套在相同的Host元素里,并且所有需要进行单点验证的web应用(必须通过context元素定义)都位于该Host下。
  
  2> 包括共享用户信息的realm必须被设置在同一级Host中或者嵌套之外。
  
  3> 不能被context中的realm覆盖。
  
  4> 使用单点登录的web应用最好使用一个Tomcat的内置的验证方式(被定义在web.xml中的<auth-method>中),这比自定义的验证方式强,Tomcat内置的的验证方式包括basic、digest、form和client-cert。
  
  5> 如果你使用单点登录,还希望集成一个第三方的web应用到你的网站中来,并且这个新的web应用使用它自己的验证方式,而不使用容器管理安全,那你基本上就没招了。你的用户每次登录原来所有应用时需要登录一次,并且在请求新的第三方应用时还得再登录一次。
  
  当然,如果你拥有这个第三方web应用的源码,而你又是一个程序员,你可以修改它,但那恐怕也不容易做。
  
  6> 单点登录需要使用cookies。
  
  7、配置用户定制目录(Customized User Directores)
  
  一些站点允许个别用户在服务器上发布网页。例如,一所大学的学院可能想给每一位学生一个公共区域,或者是一个ISP希望给一些web空间给他的客户,但这又不是虚拟主机。在这种情况下,一个典型的方法就是在用户名前面加一个特殊字符(~),作为每位用户的网站,比如:
  
  http://www.cs.myuniversity.edu/~username
  http://members.mybigisp.com/~username
  
  Tomcat提供两种方法在主机上映射这些个人网站,主要使用一对特殊的Listener元素。Listener的className属性应该是org.apache.catalina.startup.UserConfig,userClass属性应该是几个映射类之一。
  
  如果你的系统是Unix,它将有一个标准的/etc/passwd文件,该文件中的帐号能够被运行中的Tomcat很容易的读取,该文件指定了用户的主目录,使用PasswdUserDatabase 映射类。
  
  <Listener className=
  "org.apache.catalina.startup.UserConfig"
  directoryName="public_html"
  userClass="org.apache.catalina.
  startup.PasswdUserDatabase"/>
  
  web文件需要放置在像/home/users/ian/public_html或者/users/jbrittain/public_html一样的目录下面。当然你也可以改变public_html 到其他任何子目录下。
  
  实际上,这个用户目录根本不一定需要位于用户主目录下里面。如果你没有一个密码文件,但你又想把一个用户名映射到公共的像/home一样目录的子目录里面,则可以使用HomesUserDatabase类。
  
  <Listener className=
  "org.apache.catalina.startup.UserConfig"
  directoryName="public_html"
  homeBase="/home"
  userClass="org.apache.catalina.
  startup.HomesUserDatabase"/>
  
  这样一来,web文件就可以位于像/home/ian/public_html或者/home/jasonb/public_html一样的目录下。这种形式对Windows而言更加有利,你可以使用一个像c:\home这样的目录。
  
  这些Listener元素,如果出现,则必须在Host元素里面,而不能在context元素里面,因为它们都用应用于Host本身。

0
投稿

猜你喜欢

  • 大家都知道,让百度和google收录的方法不仅仅是向她提交自己的站点,这种方法在几年前经常使用,可是目前,大家所使用的恐怕都不这样做了,现在
  • 1)不要下载www.php.net上面那个Windows Installer装完了之后不能用MYSQL都不知道问题出在哪。永远修不好,没错的
  • 进入了web2.0后,apache的rewrite被广泛的应用,其中最方便的就是通过.htaccess文件来控制url转向、密码保护、自定义
  • WordPress是一款成熟的开源CMS平台,新推出的2.9版本依然保持了以往良好的口碑。这篇文章从WordPress 2.9的codex文
  • 苍蝇不是贬低站长,更不是歧视站长,如果你抱着这样的心态来阅读本篇,建议你直接去泡MM,做你应该做的事情去。苍蝇历来被形容或比喻不好的事物,因
  • 本文去年12月11日网易首页随着自主研发的搜索引擎“有道”正式版问世,首页也做了相应调整;今年的3月底腾讯在毫无消息的前提下更换了新首页;今
  • 最近,发现博客上的AdSense广告上显示的几乎是Google自己的广告。也就是“马上获得350元免费广告”,如下图。估计是因为关键词匹配不
  • 做站有一段时间了,也看过了很多各式各样的网站,有热门的SNS,有火爆的论坛,也有某一专业性的网站。如今的网站,种类繁多,就像超市里面的商品一
  • 回想初建设的一个个人主页,没有过多的想法,只是做自己喜欢的。可随着自己的认识越来越多,倒越来越迷惘了。做一个主页,要考虑页面的大小,因为这会
  • 二、工作环境本文假设用户希望在企业网环境中创建一个电子邮件服务器,为本企业用户提供邮件服务。该服务器拥有一个合法的IP地址202.99.11
  • 简述本文介绍如何在Windows XP 64位操作系统中安装和管理Exchange 2007!以下为实现的步骤:1. 安装IIS中的Comm
  • 【前言】应朋友们的要求,我还是写一篇关于服务器日志法进行网站分析的原理以及它的优缺点是什么。请朋友们注意,网站服务器日志法并不容易进行,初学
  • B2B电子商务网站优化已经成为B2B网站网络营销策略中最基本的内容,一个整体优化状况不好的B2B电子商务平台,不仅用户发布的供求信息难为潜在
  • 今天来介绍下Godaddy主机域名的转移、转出问题,一定要仔细看哦!PendingTransfers网页可以使你轻松的监测正在转移到你的帐户
  • 无处不在的WEB2.0 正式成为主流,人们通过对XML和RSS等标准格式、面向服务的网络应用程序、用户控制的数据的应用,认识到了英特网真正的
  • 落叶这里提到的URL规则指的是网站上每一个页面的网址格式,URL规则实际是PHPCMS中的概念,但实际每款CMS都会有意无意的提供了自定义U
  • 对于一个新手,我推荐虚拟主机这种方式。虚拟主机是把一台高性能的服务器分成一台台“虚拟”的服务器,每一台虚拟主机都具有独立的域名,具有完整的
  • 很多企业都架设了多个Web站点来满足员工的工作需要,为了节省费用,这些网站通常采用虚拟主机技术,即在同一个服务器上架设多个网站,员工使用二级
  • 一:GSA是什么?Google Search Appliance(简称:GSA)是由Google公司出品的一种机架设备。 Search Ap
  • 长时间对网络营销的关注,让我有了习惯性思维。不仅在网上看到某人博客的时候要得看该网站PR值、挣钱模式、反向链接之类的;还会在网络之外拿到某人
手机版 网站运营 asp之家 www.aspxhome.com