Linux精华 Tomcat配置技巧详解分析(4)
来源:asp之家 发布时间:2010-05-07 18:01:00
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本身。


猜你喜欢
- 1、SQL注入漏洞的入侵这种是ASP+ACCESS的网站入侵方式,通过注入点列出数据库里面管理员的帐号和密码信息,然后猜解出网站的后台地址,
- 原来先申请的Godaddy主机,后来申请的独立ip。主机会自动提示续费,而独立ip没有提示。续费方法:登陆后一下,进去“My Action”
- WEB服务器常有情况发生,以下给出三种最常见情况的解决方法防ACCESS数据库下载添加MDB的扩展映射就可以了。方法:IIS属性,主目录,配
- 关于网站用户粘性的问题,谈及的文章已经很多了。结合自己的经验和教训,总有不吐不快的感觉,因此也就来说说这个问题。请各位同仁斧正。先谈用户。任
- 这两年大家都扎堆做地方站,但是一般市级地区都有本地门户,现在做是和那些老站无法抗衡的。所以好多站长选择做县级论坛。哎,都想抓住网络上最后一根
- 自从百度搜索算法变过之后到现在也有一段时间,百度7、8月份可真是风云大变换,强烈程度可谓波澜壮观啊,反响程度也许不亚于汶川大地震((*^__
- 1.在百度提交网址 但现在百度自动收录的速度已经让众人所知,所以提出以下的方法。供我亲爱的朋友们、战友们以及我核心团队的兄弟姐妹们参考,最后
- 你的网站是不是常常被黑,或者一不注意就成了黑客的“肉鸡”?对于Web网站服务器来说,如果不进行安全设置,很容易被黑客“盯上”,随时都有被入侵
- 代码如下: function getCookie(Name) { var search = Name + "="; if
- 生成动态库: 需要的目标文件得用-fPIC选项生成.而静态库所需的目标文件可以不用-fPIC选项.例://///// static.hvoi
- “大江东去,浪淘尽,千古风流人物。故垒西边,人道是,三国周郎赤壁。乱石穿空,惊涛拍岸,卷起千堆雪。江山如画,一时多少豪杰……”当年苏轼站在著
- 一、PyTorch简介  PyTorch是一个开源的Python机器学习库,基于Torch,用于自然语言
- 我所在的城市:吉林市,很多外地的人都不知道,是中国唯一一个与省重名的城市,人口200w,不过网络不发达,地方论坛很少,人气更差了。也许正因为
- 每个搜索引擎都有各自收录、排名的原则、规则或者方法。所谓的SEO专业知识,其实实质上是指怎么样去设计一个更优秀的网站,去设计一个更高效率的网
- “我从来没有想到,充满创意的Google竟然要看成绩单!”12月8日中午,上海江苏路一家咖啡厅,说起几个月前在Google美国总部的面试经历
- 最近在搞几台虚拟机来学习分布式和大数据的相关技术,首先先要把虚拟机搞起来,搞起虚拟机第一步先安装系统,接着配置网络vmware为我们提供了三
- 内容摘要:长尾一词才出生不久,论年龄还是个婴儿,但他像希腊神话中的大力神一样,在婴儿期就手擒大蟒,技惊寰宇。长尾一词的出现,使得一段时期,互
- 实现方法: 第一步:channelunit.func.php中添加如下函数 //参数说明:第1个参数是从信息表里读取出来的类别ID,第2个参
- 总共搜集了4款,大家可以根据需要下载!第一款为可直接复制文件的版本。附件:mstsc5.1.rar (312.7 KB)第二款为2
- 本篇随笔将详细讲解Linux系统的网卡高级命令、IP别名以及Linux下多网卡绑定的知识一、网卡高级命令在之前的一篇随笔里Linux学习之C