app访问需要cas登陆的服务

问题描述

现在遇到的问题是这样的:一个app需要服务一个服务端A提供的接口,而服务端对所有的url都有经过CAS过滤器过滤,也就是说要访问服务端A提供的url,必须先登陆cas,app是提供httpclient访问服务端A提供的接口,app的登陆账号是例外一套账号跟服务端A是不一样的,服务端A给该app提供一个通用的账号B来登陆cas,也就是说所有app请求过来都需要通过账号B来登陆cas,然后再访问服务端A的服务,现在有个思路是这样的,app请求服务时带上账号B的信息,然后在服务端A的cas过滤器前再定义一个新的过滤器C来拦截请求,然后在过滤器C里提供httpclient模拟登陆,登陆后那jsessionid返回给app,app再使用带有该jsessionid的请求来访问服务遇到的问题:这样带过滤器C模拟登陆后的jsessionid的请求,还是会被转到cas登陆页面,而如果通过浏览器登陆后再拿浏览器请求里的jsessionid设置给app请求确可以访问服务端A提供的服务。请问这是什么回事?浏览器登陆与httpclient模拟登陆对后台有什么不一样??请大侠赐教。。。。。。。。。。。。。。。急啊被这问题困扰了好几天了

解决方案

解决方案二:
sessionid过期了...因为应该是...过滤器C里提供httpclient模拟登陆,登陆后那jsessionid可能是保存在内存中的..sohttpclient结束以后就关闭了session...可以尝试保存httpclient不结束....
解决方案三:
可以了,jsessionid没过期,jsessionid保存在cas服务端这边关闭后服务端不会知道的,现在是这样解决的在过滤器c登录后返回cookies给app,app那边再把该cookies设置给app那边的httpclient,这样再访问时带着cookie过去就可以访问了,但不知道为什么浏览器登录只需要jsessionid就可以????代码在工作机拷贝不出来,截个图过滤器C登录成功或返回Cookiesapp这边接收到cookies后设置给httpclient以后app使用该httpclient随便访问服务都畅通无阻为什么浏览器登录只需要jsessionid就可以????还请高手指教啊

时间: 2024-10-28 06:53:10

app访问需要cas登陆的服务的相关文章

app访问的接口服务需要cas单点登陆,需要什么写

问题描述 app访问的接口服务需要cas单点登陆,需要什么写 现在遇到的问题是这样的: 一个app需要服务一个服务端A提供的接口,而服务端对所有的url都有经过CAS过滤器过滤,也就是说要访问服务端A提供的url,必须先登陆cas, app是提供httpclient访问服务端A提供的接口,app的登陆账号是例外一套账号跟服务端A是不一样的,服务端A给该app提供一个通用的账号B来登陆cas,也就是说所有app请求过来都需要通过账号B来登陆cas,然后再访问服务端A的服务, 现在有个思路是这样的,

cas 登陆和用户认证相关问题;

问题描述 cas 登陆和用户认证相关问题: 1:小弟现在使用cas做项目, 遇到这样一个问题, 项目A和项目B通过cas 认证管理, 进行单点登陆, 在访问项目A的时候由于两个应用都没有登陆, 然后程序会自动跳转到 cas登陆界面进行登陆, 然后就登陆cas并进入到项目A中, 但是我现在访问项目B的使用, 程序还是又跳转到了 cas 登陆界面进行登陆, 这不符合单点登陆的逻辑, 按理来说应该登陆项目A后, 再进行项目B就不需要登陆cas了 , 请问各位大神有不有解决办法, (目前自己找到的方法是

java servlet手机app访问接口(三)高德地图云存储及检索_java

这篇关于高德地图的随笔内容会多一点, 一.业务说明 对应APP业务中的成员有两类,一是服务人员,二是被服务人员, 主要实现功能, 对APP中的服务人员位置进行时时定位, 然后通过被服务人员登录APP时提供的一个经纬度来计算服务人员与被服务人员之间的距离 单位m. 下面是整个详细流程,从创建高德对应应用(这里注册我就不说了)------最后完成此功能. 二.创建servlet对应的高德地图应用,创建自己的云图数据库表 注册帐号后登录点击右上角的控制台,会出现下面这个界面,我截图 这里当然是我已经注

php-shopnc整个网站改为要先登录才能访问,不登陆就只能显示登陆页面

问题描述 shopnc整个网站改为要先登录才能访问,不登陆就只能显示登陆页面 15C shopnc整个网站改为要先登录才能访问,不登陆就只能显示登陆页面这个是例子:http://jpcg.pdjp.cn/index.php?act=login图片说明:! 解决方案 处理登录成功时,产生并保存一个session值,之后的页面检查该seesion是否存在并正确,不正确则重定向到登录页面. 解决方案二: 用session方法 解决方案三: 给所有控制器继承CommonController,然后用ses

asp.net网站如何获取访问客户已经登陆了的QQ

问题描述 asp.net网站如何获取访问客户已经登陆了的QQ 解决方案 解决方案二:对于这种问题,只能路过下,打个酱油解决方案三:alert('你登录的QQ号是多少?');解决方案四:学习学习学习学习解决方案五:写com查进程应该可以的解决方案六:引用4楼hudsonhuang的回复: 写com查进程应该可以的 刚upgrade了一下,用c#写容易太多了http://www.alixixi.com/Dev/Web/ASPNET/aspnet1/2007/2007070765858.html

怎么实现client通过证书验证去访问cloud serice上的服务

问题描述 怎么实现client通过证书验证去访问cloud serice上的服务 我想让我的客户端的程序通过证书去访问云服务上面的内容,是不是只需要在Azure上使用HTTPS就可以了? 我在MSDN也发帖子了:https://social.msdn.microsoft.com/Forums/zh-CN/2e09aa4b-0e20-42ed-a834-c90937cdf865/clientcloud-serice?forum=windowsazurezhchs 解决方案 先安装 windows

结构-统一访问操纵数据库的这种服务该如何设计实现呢?

问题描述 统一访问操纵数据库的这种服务该如何设计实现呢? 这样的系统结构中统一访问数据库的这层.该如何设计好呢...用传统的HTTP请求服务转发可以么? 我想加个统一处理DB的层在这个层去访问缓存或者查询数据库提高性能. 多个应用服务器开线程池对数据库的压力也大. 解决方案 用webservice一类的中间件. 解决方案二: 你是用JAVA的么..?如果是的话,直接用Mybatis或hibernate

webapi接口访问验证是否登陆的解决方案!每次访问接口都需要验证用户是否登陆!

问题描述 webapi接口访问验证是否登陆的解决方案!每次访问接口都需要验证用户是否登陆! webapi接口访问验证是否登陆的解决方案!每次访问接口都需要验证用户是否登陆! 解决方案 不明白,可以说的明白点么 解决方案二: 就是用户在每次访问接口的时候要在接口中验证是否登陆过,登陆过就可以访问,没有登录就返回没有登录的信息! 解决方案三: 通过session ID等作为参数 解决方案四: 谁有设计思路啊,完全不知道怎么处理了! 解决方案五: 用wenbservice,不是有sessioniD吗?

CAS登陆验证后查询用户基本信息时中文出现乱码,导致deployerConfigContext.xml报错

问题描述 CAS登陆验证后查询用户基本信息时中文出现乱码,导致deployerConfigContext.xml报错是在验证用户名密码正确后查询用户基本信息时,用户真实姓名是中文查询出来是乱码报错:严重:org.xml.sax.SAXParseException:Theelementtype"cas:userRealName"mustbeterminatedbythematchingend-tag"</cas:userRealName>".org.xml