.NET Cas 认证(基于Cookie)
项目需求:开发系统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)的更多相关文章
- .Net Core权限认证基于Cookie的认证&授权.Scheme、Policy扩展
在身份认证中,如果某个Action需要权限才能访问,最开始的想法就是,哪个Action需要权限才能访问,我们写个特性标注到上面即可,[TypeFilter(typeof(CustomAuthorize ...
- Asp.Net Core 2.0 项目实战(10) 基于cookie登录授权认证并实现前台会员、后台管理员同时登录
1.登录的实现 登录功能实现起来有哪些常用的方式,大家首先想到的肯定是cookie或session或cookie+session,当然还有其他模式,今天主要探讨一下在Asp.net core 2.0下 ...
- 理解ASP.NET Core - 基于Cookie的身份认证(Authentication)
注:本文隶属于<理解ASP.NET Core>系列文章,请查看置顶博客或点击此处查看全文目录 概述 通常,身份认证(Authentication)和授权(Authorization)都会放 ...
- (26)基于cookie的登陆认证(写入cookie、删除cookie、登陆后所有域下的网页都可访问、登陆成功跳转至用户开始访问的页面、使用装饰器完成所有页面的登陆认证)
获取cookie request.COOKIES['key'] request.get_signed_cookie(key, default=RAISE_ERROR, salt='', max_age ...
- CAS—认证原理
CAS,Central Authentication Service—中央认证服务,是Yale 大学发起的一个企业级的.开源的项目,旨在为Web应用系统提供一种可靠的SSO解决方案.下面简单介绍SSO ...
- 基于 Cookie 的 SSO 中间件 kisso
kisso = cookie sso 基于 Cookie 的 SSO 中间件,它是一把快速开发 java Web 登录系统(SSO)的瑞士军刀.欢迎大家使用 kisso !! kisso 帮助文档 ...
- 基于Cookie的SSO登录分析和实现
什么是SSO? 现在很多大的互联网公司都会有很多的应用,比如以下是淘宝网的截图: 天猫 聚划算 头条等都是不同的应用,有的甚至采用完全不同的域名,但是所有在淘宝注册的用户都是使用的一套用户名和口令,如 ...
- 【CAS单点登录视频教程】 第06集【完】 -- Cas认证 学习 票据认证FormsAuthentication
目录 ----------------------------------------- [CAS单点登录视频教程] 第06集[完] -- Cas认证 学习 票据认证FormsAuthenticati ...
- 基于cookie共享的SSO中的遇到的问题
什么是SSO? 现在很多大的互联网公司都会有很多的应用,比如以下是淘宝网的截图: 天猫 聚划算 头条等都是不同的应用,有的甚至采用完全不同的域名,但是所有在淘宝注册的用户都是使用的一套用户名和口令,如 ...
- CAS 认证
Central Authentication Service http session 保持机制 1. 用户向服务端发送密码,服务端生成与用户对应的 sessionid 2. 服务端将这个 sess ...
随机推荐
- C#/.NET/.NET Core技术前沿周刊 | 第 19 期(2024年12.23-12.29)
前言 C#/.NET/.NET Core技术前沿周刊,你的每周技术指南针!记录.追踪C#/.NET/.NET Core领域.生态的每周最新.最实用.最有价值的技术文章.社区动态.优质项目和学习资源等. ...
- python基础应用
pip的使用 升级pip python3 -m pip install --upgrade pip 镜像源设置 查看镜像源 pip config list 指定镜像源更新依赖 pip3 install ...
- 重温CSS
入门 圆角 border-radius 阴影 box-shadow 元素边界 text-shadow 文字阴影 渐变 background-image属性新增的参数 linear-gradient 纵 ...
- Note -「q-analog」组合意义灭天地
(搁置, 填坑看心情.) \[\mathfrak{Defining~\LaTeX~macros\cdots} \newcommand{\qnum}[1]{\lbrack{#1}\rbrack_q} ...
- uwp 图像处理例子
async void test() { Color replaceBlack = Color.FromArgb(224,233,55,6); Color replaceWhite = Color.Fr ...
- bootwiki-Elasticsearch教程
https://www.elastic.co/guide/en/elasticsearch/reference/current/index.html Elasticsearch教程 Elasticse ...
- smart_web 管理端基本说明
smart_web 操作手册 1. smart_web 是什么? smart_web 是 smart_rtmpd 的付费版本,拥有比免费版本更多的功能支持,基于 web 的管理方式,让您随时随地在大部 ...
- C# 单例简单实例
1 using System; 2 using System.Collections.Generic; 3 using System.ComponentModel; 4 using System.Li ...
- shell脚本中的逻辑判断
shell脚本中也可以实现逻辑判断. 案例4:shell脚本中的逻辑判断 如果你学过C或者其他语言,相信你不会对if 陌生,在shell脚本中我们同样可以使用if逻辑判断.在shell中if判断的基本 ...
- 使用kNN算法改进约会网站配对效果(尺度归一化问题)
简单匹配: