b2科目四模拟试题多少题驾考考爆了怎么补救
b2科目四模拟试题多少题 驾考考爆了怎么补救

使用 CAS 在 Tomcat 中实现单点登录(3)

电脑杂谈  发布时间:2019-07-31 19:12:02  来源:网络整理

另外,由于存放在中的密码通常是加密过的,所以 AuthenticationHandler 在匹配时需要知道使用的加密方法,在 deployerConfigContext.xml 文件中我们可以为具体的 AuthenticationHandler 类配置一个 property,指定加密器类,比如对于 QueryDatabaseAuthenticationHandler,可以修改如清单7所示:

<bean class="org.jasig.cas.adaptors.jdbc.QueryDatabaseAuthenticationHandler">
  <property name="dataSource" ref=" casDataSource " />
  <property name="sql" 
           value="select password from userTable where lower(userName) = lower(?)" />
  <property  name="passwordEncoder"  ref="myPasswordEncoder"/>
</bean>

其中 myPasswordEncoder 是对清单 8 中设置的实际加密器类的引用:

<bean id="passwordEncoder" 
            class="org.jasig.cas.authentication.handler.MyPasswordEncoder"/>

这里 MyPasswordEncoder 是根据实际情况自己定义的加密器,实现 PasswordEncoder 接口及其 encode() 方法。

3. 部署依赖包

在以上配置完成以后,需要拷贝几个依赖的包到 cas 应用下,包括:

CAS 提供了 2 套默认的页面,分别为“ default ”和“ simple ”,分别在目录“ cas/WEB-INF/view/jsp/default ”和“ cas/WEB-INF/view/jsp/simple ”下。其中 default 是一个稍微复杂一些的页面,使用 CSS,而 simple 则是能让 CAS 正常工作的最简化的页面。

在部署 CAS 之前,我们可能需要定制一套新的 CAS Server 页面,添加一些个性化的内容。最简单的方法就是拷贝一份 default 或 simple 文件到“ cas/WEB-INF/view/jsp ”目录下,比如命名为 newUI,接下来是实现和修改必要的页面,有 4 个页面是必须的:

CAS 的页面采用 Spring 框架编写,对于不熟悉 Spring 的使用者ibm portal 单点登录,在修改之前需要熟悉该框架。

页面定制完过后,还需要做一些配置从而让 CAS 找到新的页面,拷贝“ cas/WEB-INF/classes/default_views.properties ”,重命名为“ cas/WEB-INF/classes/ newUI_views.properties ”,并修改其中所有的值到相应新页面。最后是更新“ cas/WEB-INF/cas-servlet.xml ”文件中的 viewResolver,将其修改为如清单 9 中的内容。

<bean id="viewResolver" 
     class="org.springframework.web.servlet.view.ResourceBundleViewResolver" p:order="0">
    <property name="basenames">
        <list>
            <value>${cas.viewResolver.basename}</value>
            <value> newUI_views</value>
        </list>
    </property>
</bean>

用户:对于每个要求访问的登录账户,必须在要访问的中建立该的访问账户,且与其登录账户链接关联,才可进入该访问。下面我将讲解 kubernetes 设计时是如何按照了十二因素应用法则,并给出 kubernetes 中的应用示例,并附上一句话简短的介绍。其实访问web应用中被保护的页面,使用浏览器则十分简单,用户通过系统提供的登录页面登录系统,浏览器会负责维护与服务器之间的sesion,如果用户登录的用户名、密码符合要求,就可以访问被保护资源了。

假设 CAS Server 单独部署在一台机器 A,而客户端应用部署在机器 B 上,由于客户端应用与 CAS Server 的通信采用 SSL,因此,需要在 A 与 B 的 JRE 之间建立信任关系。

首先与 A 机器一样,要生成 B 机器上的证书,配置 Tomcat 的 SSL 协议。其次,下载 的 InstallCert.java,运行“ java InstallCert compA:8443 ”命令,并且在接下来出现的询问中输入 1。这样,就将 A 添加到了 B 的 trust store 中。如果多个客户端应用分别部署在不同机器上,那么每个机器都需要与 CAS Server 所在机器建立信任关系。

准备好应用 casTest1 和 casTest2 过后,分别部署在 B 和 C 机器上,由于 casTest1 和casTest2,B 和 C 完全等同,我们以 casTest1 在 B 机器上的配置做介绍,假设 A 和 B 的域名分别为 domainA 和 domainB。

将 cas-client-java-2.1.1.zip 改名为 cas-client-java-2.1.1.jar 并拷贝到 casTest1/WEB-INF/lib目录下,修改 web.xml 文件,添加 CAS Filter,如清单 10 所示:

<web-app>
  ...
  <filter>
    <filter-name>CAS Filter</filter-name>
    <filter-class>edu.yale.its.tp.cas.client.filter.CASFilter</filter-class>
    <init-param>
      <param-name>edu.yale.its.tp.cas.client.filter.loginUrl</param-name>
      <param-value>https://domainA:8443/cas/login</param-value>
    </init-param>
    <init-param>
      <param-name>edu.yale.its.tp.cas.client.filter.validateUrl</param-name>
      <param-value>https://domainA:8443/cas/serviceValidate</param-value>
    </init-param>
    <init-param>
      <param-name>edu.yale.its.tp.cas.client.filter.serverName</param-name>
      <param-value>domainB:8080</param-value>
    </init-param>
  </filter>
  <filter-mapping>
    <filter-name>CAS Filter</filter-name>
    <url-pattern>/protected-pattern/*</url-pattern>
  </filter-mapping>
  ...
</web-app>

要求所有的用户必须登录,通过认证后才可以访问资源。不能登录,用户就不能访问服务器上有权限保护的资源,他只能以对等网用户的方式访问windows共享出来的资源,这样就在一定程度上保护了网络上的资源。如果用户的请求被验证通过了,但是他请求的url是否允许用户访问了呢,这就用到了授权.可以通过应用程序配置文件来进行授友也可以在程序中使用代码来验证用户是否有资格访问该资源.如果授权失败,则 asp.net 将用户重定向到登录页.如果用户已被授权,则将允许用户访问受保护资源.。

ibm portal 单点登录_一汽大众portal系统网址登录_一汽大众portal系统登录

从清单 10 可以看到,我们可以为 CASFilter 指定一些参数,并且有些是必须的, 和 中分别是必需和可选的参数:

参数名作用

edu.yale.its.tp.cas.client.filter.loginUrl

指定 CAS 提供登录页面的 URL

edu.yale.its.tp.cas.client.filter.validateUrl

指定 CAS 提供 service ticket 或 proxy ticket 验证服务的 URL

edu.yale.its.tp.cas.client.filter.serverName

如下图所示如果dvr/dvs/ipc端是公网ip.则在客户端“设备ip”处添加此公网ip,如12.34.56.78,端口号为8001(此端口号即路由器中映射的服务端口1)就可以实现远程访问.如果是访问域名,则把“注册模式”改为“普通域名”,在“域名”处填写域名如hikvision.vicp.net.(注:用户名密码必须和dvr/dvs/ipc匹配)。客户发出命令要求建立数据连接 -> 客户端为所在数据连接端选择一个临时端口号,并从该端口发布一个被动打开 -> 客户使用port命令从控制连接上把临时端口号发给服务器 -> 服务器收到客户端端口号后,向该端口发布一个主动打开(通常它也负责主动关闭)。人力方面,技术、销售、设计等等,对于老板而言,只要掌握媒体开发端、内容播放端和客户导入端这三个大屏运营的关键性端口,其它方面,以机器代替人力是不可避免的选择,当然这还有个过程。

edu.yale.its.tp.cas.client.filter.serviceUrl

该参数指定过后将覆盖 serverName 参数,成为登录成功过后重定向的目的地址

参数名作用

edu.yale.its.tp.cas.client.filter.proxyCallbackUrl

一、获取应用的版本号怎样获取当前的应用版本号呢,我们经常看到在设置——应用管理管理,点击某一个应用,会看到应用名称下面version 1.0等版本号字样,那怎样获取这个应用版本呢 /** ...。需要补充一点的是,在使用dhcp获取ip地址时,可以在命令提示符中输入ipconfig/release释放当前获取到的ip地址,然后使用ipconfig/renew来重新获取一个新的ip,关于ipconfig命令的具体使用方法请参阅网络排错中经常使用到的命令这篇文章。内部服务地址,对于很多微服务应用来说,这是个很重要的功能,比如在一个应用中,一个微服务需要访问一个cache服务器(比如memcached),但是出于安全的考虑,不希望外部请求访问到这个cache服务器,就可以使用灵雀云的内部服务地址。


本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-117269-3.html

相关阅读
    发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

    • 曾珊
      曾珊

      有利于彻底根治

    • 陈朝阳
      陈朝阳

      吹吧~~~~~~也不怕牛皮吹破了~~~~~正视敌人~~~~正视敌我之间的差距~~~~~~才是强国强军之道~~~~可怕的不是敌人的强大~~~~~~而是自己的愚蠢~

    • 侯超
      侯超

    热点图片
    拼命载入中...