.NetWeb集成cas

简介: 仅供参考

通过CAS与第三方应用系统(以下统一简称为【集成系统】)集成时,应用系统开发商需要完成以下四步工作:

一、.NetWeb客户端配置

配置方式有两种:

第一种:安装DotNetCasClient,安装步骤可度,点此下载

第二种:将我提供的DotNetCasClient.dllDotNetCasClient.pdb文件拷贝到项目的bin目录下。(附件,提取码:qwer)

二、修改项目的web.config文件

1、<configuration >标签

此标签中需要新增以下代码:

<configuration><--新增--><configSections><sectionname="casClientConfig"type="DotNetCasClient.Configuration.CasClientConfiguration, DotNetCasClient"/></configSections><casClientConfigcasServerLoginUrl=http://cas.jnsjsxy.com:3193/cas/logincasServerUrlPrefix="http://cas.jnsjsxy.com:3193/cas/"serverName="http://localhost:3502"notAuthorizedUrl="~/NotAuthorized.aspx"cookiesRequiredUrl="~/CookiesRequired.aspx"redirectAfterValidation="true"gateway="false"renew="false"singleSignOut="true"ticketTimeTolerance="5000"ticketValidatorName="Cas20"proxyTicketManager="CacheProxyTicketManager"serviceTicketManager="CacheServiceTicketManager"gatewayStatusCookieName="casGatewayStatus"/><!--结束--><system.web>此处省略</system.web><!--新增--><system.webServer><validationvalidateIntegratedModeConfiguration="false"/><modules><removename="DotNetCasClient"/><addname="DotNetCasClient"type="DotNetCasClient.CasAuthenticationModule,DotNetCasClient"/></modules></system.webServer><system.diagnostics/><!--结束--></configuration>

各个节点代表的含义说明:

<casServerLoginUrl>指的是CAS Server的登录URL

<casServerUrlPrefix>指的是CAS Server的验证URL

<serverName>指的是当前集成系统所在的服务器和端口号,服务器可以是机器名、域名或ip,建议使用域名。端口不指定的话默认是80(此处不能附加应用名称)

2、<system.web>标签

此标签中需要新增以下代码:

    <!--新增-->

    <authenticationmode="Forms">

      <forms

loginUrl=http://cas.jnsjsxy.com:3193/cas/login

timeout="30"

defaultUrl="~/Default.aspx"

cookieless="UseCookies"

slidingExpiration="true"

         path="/"/>

    </authentication>

    <authorization>

      <denyusers="?"/>

      <allowusers="*"/>

    </authorization>

    <httpModules>

      <addname="DotNetCasClient" type="DotNetCasClient.CasAuthenticationModule,DotNetCasClient"/>

    </httpModules>

    <sessionStatemode="StateServer" cookieless="UseCookies" timeout="36000"></sessionState>

    <!--结束-->

 </system.web>

注意:

此处需要注意丢失authenticationauthorization两部分配置将无法正常工作。

配置httpMoudules配置是为了解决重定向过多”的问题

三、其他事项

1、获取唯一标识

如果要实现与cas的统一集成,需要各个业务系统与cas的身份做唯一标识,用此唯一标识进行约束,cas登录验证返回的也是该标识字段(当然可以包含多个消息报文)。

需要对原有业务系统的验证部分进行微调。

只需要判断是否能取到用户名即可。获取用户名的方式

stringusername = System.Web.HttpContext.Current.User.Identity.Name;

此处得到的为cas与各系统之间约定的唯一标识。

2、单点登出

Cas提供单点登出(注销退出)的功能,可以使用此功能退出业务系统时,自动退出所有统一认证的系统,避免可以直接登录其他业务系统。

   使用URL链接地址:

注销之前,首先要清除浏览器cookie

HttpCookieaCookie;
stringcookieName;
intlimit=Request.Cookies.Count;
for (inti=0; i<limit; i++)
                {
cookieName=Request.Cookies[i].Name;
aCookie=newHttpCookie(cookieName);
aCookie.Expires=DateTime.Now.AddDays(-1);
Response.Cookies.Add(aCookie);
                }



目录
相关文章
|
21天前
|
开发框架 前端开发 JavaScript
ASP.NET Web Pages - 教程
ASP.NET Web Pages 是一种用于创建动态网页的开发模式,采用HTML、CSS、JavaScript 和服务器脚本。本教程聚焦于Web Pages,介绍如何使用Razor语法结合服务器端代码与前端技术,以及利用WebMatrix工具进行开发。适合初学者入门ASP.NET。
|
2月前
|
XML JSON API
ServiceStack:不仅仅是一个高性能Web API和微服务框架,更是一站式解决方案——深入解析其多协议支持及简便开发流程,带您体验前所未有的.NET开发效率革命
【10月更文挑战第9天】ServiceStack 是一个高性能的 Web API 和微服务框架,支持 JSON、XML、CSV 等多种数据格式。它简化了 .NET 应用的开发流程,提供了直观的 RESTful 服务构建方式。ServiceStack 支持高并发请求和复杂业务逻辑,安装简单,通过 NuGet 包管理器即可快速集成。示例代码展示了如何创建一个返回当前日期的简单服务,包括定义请求和响应 DTO、实现服务逻辑、配置路由和宿主。ServiceStack 还支持 WebSocket、SignalR 等实时通信协议,具备自动验证、自动过滤器等丰富功能,适合快速搭建高性能、可扩展的服务端应用。
166 3
|
1月前
|
人工智能 API C#
使用Microsoft.Extensions.AI简化.NET中的AI集成
使用Microsoft.Extensions.AI简化.NET中的AI集成
使用Microsoft.Extensions.AI简化.NET中的AI集成
|
20天前
|
开发框架 缓存 .NET
GraphQL 与 ASP.NET Core 集成:从入门到精通
本文详细介绍了如何在ASP.NET Core中集成GraphQL,包括安装必要的NuGet包、创建GraphQL Schema、配置GraphQL服务等步骤。同时,文章还探讨了常见问题及其解决方法,如处理复杂查询、错误处理、性能优化和实现认证授权等,旨在帮助开发者构建灵活且高效的API。
24 3
|
21天前
|
开发框架 .NET PHP
ASP.NET Web Pages - 添加 Razor 代码
ASP.NET Web Pages 使用 Razor 标记添加服务器端代码,支持 C# 和 Visual Basic。Razor 语法简洁易学,类似于 ASP 和 PHP。例如,在网页中加入 `@DateTime.Now` 可以实时显示当前时间。
|
29天前
|
开发框架 JavaScript 前端开发
TypeScript 是一种静态类型的编程语言,它扩展了 JavaScript,为 Web 开发带来了强大的类型系统、组件化开发支持、与主流框架的无缝集成、大型项目管理能力和提升开发体验等多方面优势
TypeScript 是一种静态类型的编程语言,它扩展了 JavaScript,为 Web 开发带来了强大的类型系统、组件化开发支持、与主流框架的无缝集成、大型项目管理能力和提升开发体验等多方面优势。通过明确的类型定义,TypeScript 能够在编码阶段发现潜在错误,提高代码质量;支持组件的清晰定义与复用,增强代码的可维护性;与 React、Vue 等框架结合,提供更佳的开发体验;适用于大型项目,优化代码结构和性能。随着 Web 技术的发展,TypeScript 的应用前景广阔,将继续引领 Web 开发的新趋势。
37 2
|
2月前
|
开发框架 .NET API
Windows Forms应用程序中集成一个ASP.NET API服务
Windows Forms应用程序中集成一个ASP.NET API服务
109 9
|
3月前
|
开发框架 监控 前端开发
在 ASP.NET Core Web API 中使用操作筛选器统一处理通用操作
【9月更文挑战第27天】操作筛选器是ASP.NET Core MVC和Web API中的一种过滤器,可在操作方法执行前后运行代码,适用于日志记录、性能监控和验证等场景。通过实现`IActionFilter`接口的`OnActionExecuting`和`OnActionExecuted`方法,可以统一处理日志、验证及异常。创建并注册自定义筛选器类,能提升代码的可维护性和复用性。
|
3月前
|
开发框架 .NET 中间件
ASP.NET Core Web 开发浅谈
本文介绍ASP.NET Core,一个轻量级、开源的跨平台框架,专为构建高性能Web应用设计。通过简单步骤,你将学会创建首个Web应用。文章还深入探讨了路由配置、依赖注入及安全性配置等常见问题,并提供了实用示例代码以助于理解与避免错误,帮助开发者更好地掌握ASP.NET Core的核心概念。
111 3
|
3月前
|
开发框架 前端开发 .NET
VB.NET中如何利用ASP.NET进行Web开发
在VB.NET中利用ASP.NET进行Web开发是一个常见的做法,特别是在需要构建动态、交互式Web应用程序时。ASP.NET是一个由微软开发的开源Web应用程序框架,它允许开发者使用多种编程语言(包括VB.NET)来创建Web应用程序。
69 5