OData - Servicio de Datos de autenticación simple
-
29-09-2019 - |
Pregunta
Me gustaría añadir autenticación simple a los servicios de datos, por ahora sólo para restringir el acceso a determinadas aplicaciones de tokens sencilla.
No necesito autenticación de dominio o las formas de autenticación.
He leído mucho acerca de la autenticación aquí:
http: // franssenden.wordpress.com/2010/06/14/custom-security-odata-service-wcf-data-services/
http://mtaulty.com/CommunityServer /blogs/mike_taultys_blog/archive/2008/06/03/10482.aspx
http://mtaulty.com/CommunityServer /blogs/mike_taultys_blog/archive/2008/01/15/10119.aspx
http://mtaulty.com/CommunityServer /blogs/mike_taultys_blog/archive/2008/01/10/10100.aspx
Por desgracia, todo exige un Muuuuuuchos de trabajo. Por encima de todo IHttpModule personalizada creación. Debe haber una solución más sencilla.
Yo sé que cuando creo contexto del objeto en el cliente (WPF) que puedo agregar credenciales.
Uri uri = new Uri("http://localhost/myapp/odata.svc");
MyEntities ent= new MyEntities (uri);
ent.Credentials = new NetworkCredential("token", "zx5as9vxc5sa9h0vb6523cv56");
Pero dónde puedo leer (sin aplicación de la costumbre IHttpModule)?
pensé que puedo usar algo en clase que es la aplicación de servicio de datos por ejemplo:
protected override void OnStartProcessingRequest(ProcessRequestArgs args)
{
string cred = args.OperationContext.AbsoluteRequestUri.UserInfo;
}
No estoy familiarizado con la información del usuario, pero la descripción de su forma actual "Obtiene el nombre de usuario, contraseña, ...)
Así que tengo dos preguntas principales:
-
¿Dónde puedo leer Credenciales incluidos por ent.Credentials mecanografía = new NetworkCredential ( "token", "zx5as9vxc5sa9h0vb6523cv56");
-
¿Dónde puedo (si puedo) establecer información del usuario en la aplicación cliente y usarla en el método OnStartProcessingRequest.
Saludos, Daniel Skowronski
Solución
Hay una serie de post sobre autenticación y servicios de datos de WCF (que es la aplicación .NET del protocolo OData): http://blogs.msdn.com/b/astoriateam/archive/tags/authentication/
debe ser capaz de encontrar mucha más información (lo que incluye ejemplos de código).