2011-11-05 16 views
5

Estoy trabajando en una solución donde tengo un proyecto WPF que está utilizando un WCF DataService que se encuentra en otro proyecto ASP .NET para acceder a los datos.
Necesito proporcionar un nivel de seguridad que garantice que solo los usuarios autenticados puedan acceder al servicio. Después de haber navegado por la red me he roto la cabeza tratando de lograr eso. ¿Cuál es la forma correcta de implementar eso?WCF dataservice security en una aplicación WPF

+0

Crear tokens de usuario podría ayudar ... Su pregunta es interesante :) –

Respuesta

2

hice esto en el pasado donde el método de la WCF Login crearía un objeto de usuario, asignar el usuario objeto de un token (en mi caso, era un GUID), y lo almacenan internamente en el servidor de WCF en una lista AuthenticatedUsers .

Cualquier otra llamada WCF requirió el token como parámetro. Verificaría si un usuario existía en la lista AuthenticatedUsers con ese token y devolvería un error si el usuario no con ese token existía. Un beneficio adicional es que siempre sabré quién realizó la llamada de WCF sin necesidad de que transfieran una ID de usuario.

También guardé LastActivity DateTime con los objetos de usuario en el servidor. Cada llamada WCF actualizaría este valor, y si la lista AuthenticatedUsers en el servidor WCF tenía al menos un valor, se ejecutó un temporizador en el servidor que verificaría el valor LastActivity AuthenticatedUsers y lo eliminaría si hubieran estado inactivos durante más de 20 minutos.

Cuestiones relacionadas