sintaxis net mvc formulario form asp c# asp.net-mvc asp.net-mvc-4 cas asp.net-mvc-5

c# - formulario - Uso del Servicio de Autenticación Central(CAS) de Jasig con ASP.NET MVC 4/5



razor mvc (1)

Estoy comenzando un proyecto ASP.NET MVC 5 en VS 2013, que eventualmente necesitará soportar CAS (Central Authentication Service) para la autenticación. Jasig tiene un cliente .NET oficial , pero es algo antiguo y parece haber sido creado en el MVC 3 días.

¿Alguien tiene experiencia casándose con esta tecnología con los nuevos MVC 4 o 5? Me preocupa especialmente que MVC 5 ahora utilice la autenticación OWIN en lugar de la antigua Autenticación de formularios, que es cómo los vínculos CAS en ASP.

Quiero que este proyecto comience con el pie derecho para que, cuando llegue el momento de agregar CAS, no tenga que volver a crear partes importantes del código. Preferiría hacer esto en MVC 5 con VS 2013, pero MVC 4 en VS 2012 también es una opción.

e: me doy cuenta de que realmente no he "hecho una pregunta" como SO lo prefiere. Todo se reduce a esto: ¿Puedo usar CAS con MVC 5, qué limitaciones encontraré y qué soluciones especiales (si las hay) son necesarias para integrarlas en mi proyecto?


La versión actual del cliente CAS seguirá funcionando en MVC 5, pero desafortunadamente no puede aprovechar todo lo que dependa de la autenticación basada en notificaciones. Esto significa que algunos de los paquetes que se instalan cuando usa Archivo-Proyecto nuevo necesitarían ser eliminados y tendría que volver al enfoque del Módulo de autenticación de formularios heredado. Además, desde .NET 4.0, el FormsAuthenticationModule era

Hay 2 problemas que veo con la versión actual del cliente CAS con respecto a OWIN

  1. El cliente está utilizando una clase IPrincipal personalizada llamada CasPrincipal. Parece que debería modificarse para aprovechar ClaimsPrincipal. Este trabajo no es trivial y rompería la compatibilidad con .NET 2.0 / 3.5. Se abordaría un problema de larga data sobre cómo manejar las funciones / información de membresía grupal que puede proporcionar el servidor CAS.
  2. El problema a más largo plazo es que tener una dependencia en System.Web va a ser un problema ya que OWIN comienza a jugar una imagen más grande en ASP.NET. No he estudiado lo suficiente acerca de cómo abordar esto, pero probablemente tendría que ser un paquete de cliente diferente. La compatibilidad con Breaking 2.0 / 3.5 es una cosa, pero romper la compatibilidad con todas las aplicaciones no compatibles con OWIN es otra.

Espero dedicar algo de tiempo en las próximas semanas para lograr que el cliente aproveche ClaimsPrincipal y vea a dónde podemos ir desde allí.