ufa! Hoje o dia foi mesmo cansativo...durante a tarde tive mesmo algo inspirado...já consegui resolver praticamente o problema relacionado com as permissões e os roles. Actualmente a minha solução já consegue separar validação de tokens e roles com permissões no método do próprio código. Tudo isto é feito utilizando soapextensions e soapextensionattibutes :)
Para que a felicidade seja completa, só falta garantir que a modificação do ficheiro que contém os roles associados ao método implica o novo carregamento deste por parte da extensão...infelizmente ainda não tou a ver como é que vou fazer isso. Aqui o problema é que, por defeito, as extensões de soap contém um mecanimos de optimização. Esse mecanismo consiste na evocação de uma função (GetInitializer) que é apenas evocada durante a primeira vez (que alguém acede ao método ou ao Web Service - isto depende da forma como o Web Service está relacionado com a extensão)
Como é óbvio, a modificação do ficheiro de XML onde se enontram os roles nunca afecta este tipo de funcionamento. Actualmente estou a pensar em colocar um campo de datetime que identifique a hora de carregamento do ficheiro e a hora de última alteração do ficheiro...pode ser que assim consiga fazer o carregamento manual quando a data última alteração dor superior à do carregamento (pelo menos parece-me ser esta uma solução válida para o problema).
Só para terminar queria aproveitar para recomendar a todos o estudo do WSE porque é de facto algo de muito muito muito (acho que já perceberam a ideia) interessante :).
posted on Wednesday, March 17, 2004 7:33 PM