项目需求:开发系统A 对接客户公司的cas 认证系统 B,实现单点登录

业务场景描述:打开A 系统地址,判断Cookie 是否登录状态,如果未登录,跳转B登录界面;如果已登录,直接获取到cookie 的当前登录用户信息,进入B系统

       (同时满足:其他接入cas 认证的 系统实现sso)

引入Cas 插件dotnetCasClient

按照下述配置

<configuration>
<configSections>
<!--定义casClientConfig-->
<section name="casClientConfig" type="DotNetCasClient.Configuration.CasClientConfiguration, DotNetCasClient" />
</configSections>
</configuration>

casServerLoginUrl cas 系统地址
casServerUrlPrefix cas 系统前缀
serverName      A 系统地址

<configuration>
<casClientConfig casServerLoginUrl="http://XXX/cas/login"
casServerUrlPrefix="http://XXX/cas/"
serverName="http://test/login.aspx" notAuthorizedUrl="~/NotAuthorized.aspx"
cookiesRequiredUrl="~/CookiesRequired.aspx"
redirectAfterValidation="true" gateway="false"
renew="false" singleSignOut="true" ticketTimeTolerance="5000"
ticketValidatorName="Cas20" proxyTicketManager="CacheProxyTicketManager"
serviceTicketManager="CacheServiceTicketManager"
gatewayStatusCookieName="CasGatewayStatus" />
</configuration>

WEB_ASPXAUTH  cas 插件获取到的cookie

A 系统进入页逻辑代码

if (HttpHelper.GetCookie("WEB_ASPXAUTH") != null && BasePage.GlobalInfo.UserInfo.UserID > 0)
Response.Redirect(base.BasePage.CorrectUrl("~/SiteMain.aspx"));

//cas登录跳到这里,成功认证cooking,失败返回login.aspx
try
{
if (CasAuthentication.ServiceTicketManager != null)
{

HttpCookie ticketCookie = Request.Cookies[FormsAuthentication.FormsCookieName];

if (ticketCookie != null)
{
SSOInfoBll infoBLL = new SSOInfoBll();
FormsAuthenticationTicket ticket = FormsAuthentication.Decrypt(ticketCookie.Value);
if (ticket != null)
{
CasAuthenticationTicket casTicket = CasAuthentication.ServiceTicketManager.GetTicket(ticket.UserData);
if (casTicket != null)
{
EmpCode = casTicket.Assertion.PrincipalName;

}

}

}

}

}

.NET Cas 认证(基于Cookie)的更多相关文章

  1. .Net Core权限认证基于Cookie的认证&授权.Scheme、Policy扩展

    在身份认证中,如果某个Action需要权限才能访问,最开始的想法就是,哪个Action需要权限才能访问,我们写个特性标注到上面即可,[TypeFilter(typeof(CustomAuthorize ...

  2. Asp.Net Core 2.0 项目实战(10) 基于cookie登录授权认证并实现前台会员、后台管理员同时登录

    1.登录的实现 登录功能实现起来有哪些常用的方式,大家首先想到的肯定是cookie或session或cookie+session,当然还有其他模式,今天主要探讨一下在Asp.net core 2.0下 ...

  3. 理解ASP.NET Core - 基于Cookie的身份认证(Authentication)

    注:本文隶属于<理解ASP.NET Core>系列文章,请查看置顶博客或点击此处查看全文目录 概述 通常,身份认证(Authentication)和授权(Authorization)都会放 ...

  4. (26)基于cookie的登陆认证(写入cookie、删除cookie、登陆后所有域下的网页都可访问、登陆成功跳转至用户开始访问的页面、使用装饰器完成所有页面的登陆认证)

    获取cookie request.COOKIES['key'] request.get_signed_cookie(key, default=RAISE_ERROR, salt='', max_age ...

  5. CAS—认证原理

    CAS,Central Authentication Service—中央认证服务,是Yale 大学发起的一个企业级的.开源的项目,旨在为Web应用系统提供一种可靠的SSO解决方案.下面简单介绍SSO ...

  6. 基于 Cookie 的 SSO 中间件 kisso

    kisso  =  cookie sso 基于 Cookie 的 SSO 中间件,它是一把快速开发 java Web 登录系统(SSO)的瑞士军刀.欢迎大家使用 kisso !! kisso 帮助文档 ...

  7. 基于Cookie的SSO登录分析和实现

    什么是SSO? 现在很多大的互联网公司都会有很多的应用,比如以下是淘宝网的截图: 天猫 聚划算 头条等都是不同的应用,有的甚至采用完全不同的域名,但是所有在淘宝注册的用户都是使用的一套用户名和口令,如 ...

  8. 【CAS单点登录视频教程】 第06集【完】 -- Cas认证 学习 票据认证FormsAuthentication

    目录 ----------------------------------------- [CAS单点登录视频教程] 第06集[完] -- Cas认证 学习 票据认证FormsAuthenticati ...

  9. 基于cookie共享的SSO中的遇到的问题

    什么是SSO? 现在很多大的互联网公司都会有很多的应用,比如以下是淘宝网的截图: 天猫 聚划算 头条等都是不同的应用,有的甚至采用完全不同的域名,但是所有在淘宝注册的用户都是使用的一套用户名和口令,如 ...

  10. CAS 认证

    Central Authentication Service http session 保持机制 1.  用户向服务端发送密码,服务端生成与用户对应的 sessionid 2. 服务端将这个 sess ...

随机推荐

  1. WxPython跨平台开发框架之前后端结合实现附件信息的上传及管理

    在使用 wxPython 开发跨平台应用时,结合后端实现附件信息的上传和管理是一种常见需求.WxPython跨平台开发框架是前后端分离的框架,前端采用的是WxPython + aiohttp 来构建跨 ...

  2. CDS标准视图:维护包描述 I_MaintPackageTextData

    视图名称:维护包描述 I_MaintPackageTextData 视图类型:基础 视图代码: 点击查看代码 @EndUserText.label: 'Maintenance Package - Te ...

  3. 直播预览层添加滤镜效果(CIFilter使用场景)

    直播预览层添加滤镜效果 原理,在显示之前,提前对图片进行滤镜处理,把处理后的图片展示出来就好了. CIFiter(滤镜类):给图片添加特殊效果(模糊,高亮等等). CIFiter滤镜分类(一个滤镜可能 ...

  4. SpringCloud(2)---入门篇

    SpringCloud(6)---熔断降级理解.Hystrix实战 一.概念 1.为什么需要熔断降级 (1)需求背景 它是系统负载过高,突发流量或者网络等各种异常情况介绍,常用的解决方案. 在一个分布 ...

  5. UNIDAC中TDataSet组件CachedUpdates属性使用

    官方方法组合示例,使用UpdatesPending属性可判断是否有修改在缓存区中

  6. java子类父类有相同的方法优先调用子类-重写-递归

    子类和父类有相同的方法,优先调用子类.如果子类没有,父类. package studyDemo9yue; public class study01 { public static void main( ...

  7. AI工具推荐——open-interpreter

    前言 Open Interpreter 是一个能让大型语言模型在你本地电脑上运行代码的工具. 简单来说: 它提供了一个类似于 ChatGPT 的自然语言界面,让你能通过代码与电脑互动. 你可以用它来: ...

  8. q-analog 学习笔记(待整修)

    联考题考这个不会就来学了 首先给出对其的定义. 对于一个对象 \(u\),构造关于 \(q\) 的某表达式 \(f(q)\),使得: \[\lim_{q\to 1}f(q)=u \] 然而这个可能没有 ...

  9. linux mint安装远程连接工具,类似于xshell的PAC

    从指定的URL下载文件 wget http://sourceforge.net/projects/pacmanager/files/pac-4.0/pac-4.5.5.7-all.deb   安装依赖 ...

  10. Maven 打包的几种常用方式

    一.maven-jar-plugin 默认的打包插件,用来打普通的jar 包,需建立lib目录里来存放需要的依赖包 二.maven-shade-plugin (推荐) 将依赖的jar包打包到当前jar ...