I’m working on a web service providing user application authorization information based on web service. The basic idea is to expose application authorization data through a web service and remove any need to implement similar functionality in each application and centralize the administration of user profiles and authorizations.
Like any other web services once deployed, all applications will be dependent on this basic user authorization services. It requires that the authorization service must offer backward compatibility and extensibility to support applications that live on their own life cyles.
A versioning strategy is shown in the following:
<s:schema
xmlns:s=“http://www.w3.org/2001/XMLSchema”
targetNamespace=“http://tempuri.org/2004/02/16/types/”
xmlns=“http://tempuri.org/2004/02/16/types/”
>
<s:complexType name=“User”>
<s:sequence>
<s:element name=“FirstName” type=“s:string”/>
<s:element name=“LastName” type=“s:string”/>
</s:sequence>
</s:complexType>
</s:schema>
<definitions
name=“UserAuthorizationService”
targetNamespace=“http://tempuri.org/2004/02/16/UserAuthorizationService/”
xmlns=“http://schemas.xmlsoap.org/wsdl/”
>
<import namespace=“http://tempuri.org/2004/02/16/types/”
location=“UserAuthorization.xsd” />
<types />
<message />
<portType />
<!– concrete definitions –>
<binding />
<service />
</definition>
Here’re some related resources:
Designing Application-Managed Authorization
XML Versioning