CAS认证(2):认证过程

 

国内私募机构九鼎控股打造APP,来就送 20元现金领取地址:http://jdb.jiudingcapital.com/phone.html
内部邀请码:C8E245J (不写邀请码,没有现金送)
国内私募机构九鼎控股打造,九鼎投资是在全国股份转让系统挂牌的公众公司,股票代码为430719,为“中国PE第一股”,市值超1000亿元。 

 

 

 

------------------------------------------------------------------------------------------------------------------------------------------------------------------

 

 

 

 

上一部分主要是对webflow同spring MVC进行结合进行了粗略的讲解。这里,将对webflow定义的流程进行更加详细的说明。

前面说到用户的认证请求经过spring MVC 对应配置的/login 路径进入webflow中的viewLoginForm 也就是登录界面。该用户的登录界面通过

<transition on="submit" bind="true" validate="true" to="realSubmit">
    <set name="flowScope.credentials"value="credentials" />
    <evaluate expression="authenticationViaFormAction.doBind(flowRequestContext,flowScope.credentials)" />
</transition>

用户点击登录之后,就将登录请求提交到了realSubmit中。realSubmit执行的对应的是AuthenticationViaFormAction中的submit方法。在该方法中,首先通过

final String ticketGrantingTicketId =WebUtils.getTicketGrantingTicketId(context); 

判断用户请求中,是否存在TGT(Ticket grant ticket)。这里说明一下,TGT是以cookie形式存在CASServer域下的。默认情况是只有http请求才向CASServer提交的。该cookie为CASServer识别用户是否登录的唯一标示。如果存在,则认为是用户已经登陆过的,否则认为用户是没有登录过的。

然后一下方法获取service:

 

final Service service =WebUtils.getService(context);

这个service是对应的服务。就是在你访问某个应用程序的时候,该请求被统一认证的过滤器拦截之后跳转到统一认证进行认证。跳转的过程中,会把你之前的请求的路径记录下来并作为参数传递到统一认证。在统一认证系统中配置的所有可以使用统一认证系统的业务系统的配置信息。该认证请求到了统一认证之后,统一认证根据这个路径查找对应的系统的配置信息。详情参照系统管理部分。

如果不存在TGT,则通过下面方法新生成一个TGT。

 

String tempTGT= this.centralAuthenticationService.createTicketGrantingTicket(credentials);

如果TGT存在,则生成ST并将其放入到context中。ST是service ticket的缩写。顾名思义,该ticket是和service对应的。所以,如果验证ticket有效性的时候,发送的验证请求所带service参数同生成ST的时候的参数不一致,就会出现ticket异常。默认的,ST的有效性是有时间和次数的限制的。默认是ST使用一次就失效,在1000秒以后失效。详情参见《CAS中ticket的生成与管理》。

final String serviceTicketId = this.centralAuthenticationService.grantServiceTicket(ticketGrantingTicketId, service,credentials);
WebUtils.putServiceTicketInRequestScope(context, serviceTicketId);
putWarnCookieIfRequestParameterPresent(context);
return "warn";

在webflow中跳转到“warn”状态,该状态中主要是验证流程中是否存在warnCookie,如果存在,则跳转到showWarningView中,否则进入redirect。在往下就是跳转到认证之前的目标路径了。注意,这里跳转的过程中,将ST作为跳转路径中的一个参数进行传递了。

时间: 2024-09-03 03:01:53

CAS认证(2):认证过程的相关文章

TL-ER6520G 微信认证+Web认证设置方法

  TL-ER6520G的微信认证功能可以实现微信与接入上网权限的关联.移动终端通过无线接入网络后,关注微信公众号即可免费上网,并且可以实现推送广告页面或指定网站.当终端不支持微信认证时,可以使用Web认证功能进行认证. 本文指导TL-ER6520G的微信认证与Web认证搭配认证的设置方法.   [1] Web认证设置 登录路由器管理界面,点击 认证管理 >> 认证设置 >> Web认证,具体设置如下: 注意:为了配合微信认证,上传的背景图片中包含微信公众号二维码. [2] 新增用

tplink路由器[TL-AC1000] WEB认证+微信认证使用方法

TL-AC1000可以设置WEB认证+微信认证,既满足手机终端用户通过关注微信公众号进行认证上网,实现微信与接入上网的关联,也满足了笔记本电脑.iPad等不方便通过微信认证的终端使用web认证方式接入网络.多种认证方式同时实现,方便不同用户通过不同方式简单便捷的认证上网.   登录TL-AC1000的管理界面,点击 认证管理 >> Portal认证 >> 跳转页面,设置Web+微信认证方式的跳转页面,认证页面类型选择"Web+微信认证",上传跳转页面的背景图片.

从CMM认证看认证误区

从目前中国软件业的发展来看,CMM一直是一个非常热门的话题,为了增加自己的综合竞争力,迎接加入WTO后来自全球软件企业的挑战,国内软件企业都把通过CMM认证作为企业中长期的目标,国内的媒体也给予了极大的关注,短短的几个月内,关于CMM的培训和企业论坛遍及全国,关于CMM的报道也频频见于报端! 对于中国软件企业,CMM不但是一张国际市场的通行证,它的重要意义还在于,在达到CMM各级标准的过程中,通过软件工程方法的运用,达到提高软件质量的目的,进而增强软件企业与软件产品的国际竞争力,进入国际软件市场

[WCF安全系列]谈谈WCF的客户端认证[Windows认证]

结束了服务认证的介绍之后,我们接着介绍WCF双向认证的另一个方面,即服务对客户端的认证,简称客户端认证.客户端认证采用的方式决定于客户端凭证的类型,内容只要涉及基于以下三种典型客户凭证类型的认证:Windows.用户名和X.509证书.从编程的角度来讲,Windows认证是最为简单的认证方式.在这种认证方式下,客户端进程运行的Window帐号对应的Windows凭证被自动作为调用服务的客户端凭证,所以无需显示指定具体的Windiws凭证. 如果需要另一个Windows帐号的名义调用服务,客户端就

新浪微博首次实现微博自助认证在线认证系统

中介交易 SEO诊断 淘宝客 云主机 技术大厅 新浪微博加V认证在线系统日前正式上线,想在新浪微博加V用户或机构只需在线申请并提交相关资料,符合条件者便可获认证系统确认加V.较以往的人工认证程序,在线认证系统不仅实现了用户自主申请,并且大大缩短了社交网络身份实名认证的程序与时间,这在国内微博产品中尚属首次. 新浪微博加V认证在线系统,同时支持个人认证与机构认证.个人用户申请加V认证的基本条件为:绑定手机.有头像.粉丝数不低于100人.关注数不低于50人.认证范围包括支持娱乐体育.传媒.财经.科技

新浪微博OAuth认证和储存的主要过程详解

 本文给大家介绍的是参考Twitter的认证过程实现的新浪微博OAuth认证和储存的主要过程详解     网上很多关于OAuth的文章,但是包括sina本身都都没有详细的的介绍,包括验证过程和验证后数据的储存,所以参考了Twitter的认证过程写下一些详细的注释代码. 在我们开始前,我们先建立一张数据库来保存用户信息,下面是一个基本的 Mysql 的例子: ? 1 2 3 4 5 6 7 8 9 CREATE TABLE `oauth_users` ( `id` INT(10) UNSIGNED

java-关于CAS单点登录的用户认证

问题描述 关于CAS单点登录的用户认证 现有多个系统web1,web2,web3... 用户张三,在web1里用户名密码是user1/123,在web2里用户名密码是zhangsan/456,在web3里用户名密码是abc/789-- 这些多个系统的用户名密码存放在不同数据库中,但是每个数据库里都有"工号"这个字段,且为必填项. 现在将这多个系统用CAS做单点登录,这多个数据库如何通过"工号"这个字段统一? 刚看到的一个思路: 单对多模式:一个用户使用不同凭证登录不

SaltStack的salt-master salt-minion启动 Master与Minion认证 salt ‘*’ test.ping执行过程

salt-master启动过程 环境介绍 我们使用如下环境来分析SaltStack源码:     系统:CentOS-7    python版本:2.7.5    saltstack版本:2015.5.2 (Lithium) 我们使用如下方法来安装salt-master:     rpm -Uvh http://mirrors.opencas.cn/epel/7/x86_64/e/epel-release-7-5.noarch.rpm    yum install salt-master  场景

新浪微博OAuth认证和储存的主要过程详解_php实例

网上很多关于OAuth的文章,但是包括sina本身都都没有详细的的介绍,包括验证过程和验证后数据的储存,所以参考了Twitter的认证过程写下一些详细的注释代码. 在我们开始前,我们先建立一张数据库来保存用户信息,下面是一个基本的 Mysql 的例子: CREATE TABLE `oauth_users` ( `id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT, `oauth_provider` VARCHAR(10), `oauth_uid` text,