C# 使用Jasig';使用ASP.NET MVC 4/5的s中央身份验证服务(CAS)

C# 使用Jasig';使用ASP.NET MVC 4/5的s中央身份验证服务(CAS),c#,asp.net-mvc,asp.net-mvc-4,cas,asp.net-mvc-5,C#,Asp.net Mvc,Asp.net Mvc 4,Cas,Asp.net Mvc 5,我将在VS 2013中启动一个ASP.NET MVC 5项目,该项目最终将需要支持CAS(中央身份验证服务)进行身份验证。Jasig有一个,但它有点旧,似乎是在MVC 3天内创建的 有没有人有将这项技术与较新的MVC4或MVC5相结合的经验?我特别关心的是MVC5现在使用身份验证来代替旧的表单身份验证,这是CAS和ASP的联系方式 我想让这个项目从正确的方向开始,这样,当稍后添加CAS时,我就不会急于重新创建代码的主要部分。我更愿意在VS 2013的MVC 5中这样做,但VS 2012的MVC

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

有没有人有将这项技术与较新的MVC4或MVC5相结合的经验?我特别关心的是MVC5现在使用身份验证来代替旧的表单身份验证,这是CAS和ASP的联系方式

我想让这个项目从正确的方向开始,这样,当稍后添加CAS时,我就不会急于重新创建代码的主要部分。我更愿意在VS 2013的MVC 5中这样做,但VS 2012的MVC 4也是一个选项


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

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

我发现当前版本的CAS客户端在OWIN方面存在两个问题

  • 客户端正在使用名为CasPrincipal的自定义IPrincipal类。看起来应该修改它以利用ClaimsPrincipal。这项工作非常重要,会破坏与.NET2.0/3.5的兼容性。它将解决一个长期存在的问题,即如何处理CAS服务器提供的角色/组成员信息
  • 长期的问题是,随着OWIN开始在ASP.NET中扮演更重要的角色,对System.Web的依赖将成为一个问题。我还没有仔细研究如何实现这一点,但它可能必须是一个单独的客户端包。破坏2.0/3.5兼容性是一回事,但破坏与所有不支持OWIN的应用程序的兼容性是另一回事
  • 我希望在未来几周留出一些时间让客户利用ClaimsPrincipal,看看我们能从那里走到哪里