gpt4 book ai didi

c# - 将 Jasig 的中央身份验证服务 (CAS) 与 ASP.NET MVC 一起使用 4/5

转载 作者:太空狗 更新时间:2023-10-29 20:36:36 25 4
gpt4 key购买 nike

我正在 VS 2013 中启动一个 ASP.NET MVC 5 项目,该项目最终需要支持 CAS(中央身份验证服务)进行身份验证。 Jasig 有一个 official .NET client , 但它有点旧,似乎是在 MVC 3 days 中创建的。

有没有人有将这项技术与更新的 MVC 4 或 5 结合的经验?我特别关心的是 MVC 5 现在使用 OWIN身份验证代替旧的表单例份验证,这是 CAS 与 ASP 的联系方式。

我想让这个项目有一个良好的开端,以便在以后添加 CAS 时,我不会手忙脚乱地重新创建代码的主要部分。我更愿意在带有 VS 2013 的 MVC 5 中执行此操作,但 VS 2012 中的 MVC 4 也是一个选项。

e:我意识到我并没有像 SO 喜欢的那样真正地“问了一个问题”。归结为:我可以将 CAS 与 MVC 5 一起使用吗?我会遇到哪些限制?将它集成到我的项目中需要哪些特殊的解决方法(如果有)?

最佳答案

CAS 客户端的当前版本仍可在 MVC 5 中工作,但不幸的是,您无法利用任何依赖于基于声明的身份验证的内容。这意味着需要删除使用文件-新建项目时安装的一些包,并且需要恢复到旧的表单例份验证模块方法。此外,自 .NET 4.0 以来,FormsAuthenticationModule 是

关于 OWIN,我发现当前版本的 CAS 客户端存在 2 个问题

  1. 客户端正在使用一个名为 CasPrincipal 的自定义 IPrincipal 类。看起来应该对其进行修改以利用 ClaimsPrincipal。这项工作很重要,会破坏与 .NET 2.0/3.5 的兼容性。它将解决一个长期存在的问题,即如何处理可由 CAS 服务器提供的角色/组成员信息。
  2. 长期的问题是,随着 OWIN 开始在 ASP.NET 中扮演更重要的角色,对 System.Web 的依赖将成为一个问题。我还没有仔细研究如何处理这个问题,但它可能必须是一个单独的客户端包。破坏 2.0/3.5 兼容性是一回事,但破坏与所有非 OWIN 感知应用程序的兼容性又是另一回事。

我希望在接下来的几周内留出一些时间让客户利用 ClaimsPrincipal,看看我们可以从那里走向何方。

关于c# - 将 Jasig 的中央身份验证服务 (CAS) 与 ASP.NET MVC 一起使用 4/5,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19967789/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com