.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);
                }



目录
相关文章
|
1月前
|
XML JSON API
ServiceStack:不仅仅是一个高性能Web API和微服务框架,更是一站式解决方案——深入解析其多协议支持及简便开发流程,带您体验前所未有的.NET开发效率革命
【10月更文挑战第9天】ServiceStack 是一个高性能的 Web API 和微服务框架,支持 JSON、XML、CSV 等多种数据格式。它简化了 .NET 应用的开发流程,提供了直观的 RESTful 服务构建方式。ServiceStack 支持高并发请求和复杂业务逻辑,安装简单,通过 NuGet 包管理器即可快速集成。示例代码展示了如何创建一个返回当前日期的简单服务,包括定义请求和响应 DTO、实现服务逻辑、配置路由和宿主。ServiceStack 还支持 WebSocket、SignalR 等实时通信协议,具备自动验证、自动过滤器等丰富功能,适合快速搭建高性能、可扩展的服务端应用。
101 3
|
5天前
|
人工智能 API C#
使用Microsoft.Extensions.AI简化.NET中的AI集成
使用Microsoft.Extensions.AI简化.NET中的AI集成
使用Microsoft.Extensions.AI简化.NET中的AI集成
|
1月前
|
开发框架 .NET API
Windows Forms应用程序中集成一个ASP.NET API服务
Windows Forms应用程序中集成一个ASP.NET API服务
90 9
|
2月前
|
开发框架 监控 前端开发
在 ASP.NET Core Web API 中使用操作筛选器统一处理通用操作
【9月更文挑战第27天】操作筛选器是ASP.NET Core MVC和Web API中的一种过滤器,可在操作方法执行前后运行代码,适用于日志记录、性能监控和验证等场景。通过实现`IActionFilter`接口的`OnActionExecuting`和`OnActionExecuted`方法,可以统一处理日志、验证及异常。创建并注册自定义筛选器类,能提升代码的可维护性和复用性。
|
2月前
|
开发框架 .NET 中间件
ASP.NET Core Web 开发浅谈
本文介绍ASP.NET Core,一个轻量级、开源的跨平台框架,专为构建高性能Web应用设计。通过简单步骤,你将学会创建首个Web应用。文章还深入探讨了路由配置、依赖注入及安全性配置等常见问题,并提供了实用示例代码以助于理解与避免错误,帮助开发者更好地掌握ASP.NET Core的核心概念。
93 3
|
2月前
|
开发框架 前端开发 .NET
VB.NET中如何利用ASP.NET进行Web开发
在VB.NET中利用ASP.NET进行Web开发是一个常见的做法,特别是在需要构建动态、交互式Web应用程序时。ASP.NET是一个由微软开发的开源Web应用程序框架,它允许开发者使用多种编程语言(包括VB.NET)来创建Web应用程序。
58 5
|
1月前
|
存储 缓存 安全
如何使用 PHP 将天气跟踪集成到 Web 应用程序中
如何使用 PHP 将天气跟踪集成到 Web 应用程序中
32 0
|
3月前
|
机器学习/深度学习 存储 前端开发
实战揭秘:如何借助TensorFlow.js的强大力量,轻松将高效能的机器学习模型无缝集成到Web浏览器中,从而打造智能化的前端应用并优化用户体验
【8月更文挑战第31天】将机器学习模型集成到Web应用中,可让用户在浏览器内体验智能化功能。TensorFlow.js作为在客户端浏览器中运行的库,提供了强大支持。本文通过问答形式详细介绍如何使用TensorFlow.js将机器学习模型带入Web浏览器,并通过具体示例代码展示最佳实践。首先,需在HTML文件中引入TensorFlow.js库;接着,可通过加载预训练模型如MobileNet实现图像分类;然后,编写代码处理图像识别并显示结果;此外,还介绍了如何训练自定义模型及优化模型性能的方法,包括模型量化、剪枝和压缩等。
51 1
|
3月前
|
存储 消息中间件 前端开发
Web2py框架下的神秘力量:如何轻松集成第三方API,让你的应用不再孤单!
【8月更文挑战第31天】在开发现代Web应用时,常需集成第三方服务如支付网关、数据存储等。本文将指导你使用Web2py框架无缝接入第三方API。通过实例演示从注册获取API密钥、创建控制器、发送HTTP请求到处理响应的全过程。利用`requests`库与Web2py的内置功能,轻松实现API交互。文章详细介绍了如何编写RESTful控制器,处理API请求及响应,确保数据安全传输。通过本教程,你将学会如何高效整合第三方服务,拓展应用功能。欢迎留言交流心得与建议。
48 1
|
2月前
|
存储 开发框架 前端开发
ASP.NET MVC 迅速集成 SignalR
ASP.NET MVC 迅速集成 SignalR
58 0