zoukankan      html  css  js  c++  java
  • 在Tomcat中配置单点登录

    单点登录:Single Sign-On

    1、概述

    一旦你设置了realm和验证的方法,你就需要进行实际的用户登录处理。一般说来,对用户而言登录系统是一件很麻烦的事情,你必须尽量减少用户登录验证的次数。作为缺省的情况,当用户第一次请求受保护的资源时,每一个Web应用都会要求用户登录。

    如果你运行了多个Web应用,并且每个应用都需要进行单独的用户验证,那这看起来就有点像你在与你的用户搏斗。用户们不知道怎样才能把多个分离的应用整合成一个单独的系统,所有他们也就不知道他们需要访问多少个不同的应用,只是很迷惑,为什么总要不停的登录。

     

    2Tomcat 中的“Single Sign-On”特性及配置

    其主要的特性是能够允许用户在访问同一虚拟主机下所有Web应用时,只需登录一次。为了使用这个功能,你只需要在C:jakarta-tomcat-5.0.19conf server.xml文件中的Host标签上添加一个SingleSignOnValve元素即可,如下所示:

    <ValveclassName="org.apache.catalina.authenticator.SingleSignOn"   debug="0"/>

    在Tomcat初始安装后,server.xml的注释里面包括SingleSignOn Valve配置的例子,你只需要去掉注释(在339行左右),即可使用。那么,任何用户只要登录过一个应用,则对于同一虚拟主机下的所有应用同样有效。

     

    3、测试单点登录

     

    (1)     直接进入前面的Form验证所产生的Web应用

    http://127.0.0.1:8080/FormSafeWebApp/ProtectedDirOne/)将出现要求登录的页面

     

    在表单中输入用户名称为admin(前面在tomcat-users.xml文件中所设置的某一用户名称),密码为12345678。然后点击“提交”,将以用户名admin进行成功登录该Web应用。

    (2)再在该浏览器窗口内(不能在新窗口,否则会成为另一用户)直接输入http://127.0.0.1:8080/admin/frameset.jsp,此时将以admin的用户浏览另一Web应用。观察能否直接进入Tomcat的系统管理的页面,此时应该可以并且出现下面的页面。


           如果新开一浏览器窗口并直接输入http://127.0.0.1:8080/admin/frameset.jsp,看能否直接进入Tomcat的系统管理的页面,此时将会出现要求登录的页面。

     

     

    4、使用single sign-on valve所应该注意的问题

    value必须被配置和嵌套在相同的Host元素里,并且所有需要进行单点验证的web应用(必须通过context元素定义)都位于该Host下

    l  包括共享用户信息的realm必须被设置在同一级Host中或者嵌套之外。

    不能被context中的realm覆盖。

    l  使用单点登录的web应用最好使用一个Tomcat的内置的验证方式(Basic或者Form)(被定义在web.xml中的<auth-method>中),这比自定义的验证方式强。

    l  单点登录需要使用cookies。


  • 相关阅读:
    matplotlib 柱状图
    JavaScript 箭头函数
    JavaScript map reduce
    JavaScript sort函数
    JavaScript var、let、const
    javaScript 迭代器
    javaScript map和set
    批处理学习(-)之文件夹和文件的移动
    让 Lua 访问数据库
    lua 模块化推荐方法
  • 原文地址:https://www.cnblogs.com/LinkinPark/p/5233087.html
Copyright © 2011-2022 走看看