Changeset 3504


Ignore:
Timestamp:
09/03/13 08:45:38 (11 years ago)
Author:
andmor
Message:

Decoupled 'authorized roles' from isAuthorized.dpml.
'Forbidden' response generalized to a generic endpoint.
Some more compreensive debug info.

Location:
cats/SCHEMAcat/trunk/urn.org.isocat.schemacat.interface.rest/interface
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • cats/SCHEMAcat/trunk/urn.org.isocat.schemacat.interface.rest/interface/schemas.dpml

    r3495 r3504  
    11<?xml version="1.0" encoding="UTF-8"?>
    2 <sequence debug="true">
     2<sequence debug="false">
    33        <sloot-debug>
    44                <log>
    55                        <level>INFO</level>
    66                        <message>
    7                                 <literal type="string">[interface.REST] Requested list of schemas by id: %1</literal>
     7                                <literal type="string">[interface.REST] [%1] requested list of schemas.</literal>
    88                        </message>
    99                        <param>
     
    2727                                        </literal>
    2828                                </argument>
     29                                <argument name="authorizedRoles">
     30                                        <request>
     31                                                <identifier>active:org.isocat.schemacat.access.data.schemas.authorizedRoles</identifier>
     32                                        </request>
     33                                </argument>
    2934                        </request>
    3035                </cond>
     
    3338                                <identifier>active:org.isocat.schemacat.access.data.schemas</identifier>
    3439                                <argument name="userID">
    35                                         <literal type="string"></literal>
     40                                        <literal type="string">*</literal>
    3641                                </argument>
    3742                        </request>
     
    3944                <else>
    4045                        <request assignment="response">
    41                                 <identifier>active:groovy</identifier>
    42                                 <argument name="operator">
    43                                         <!-- TODO: check if this is the proper way to generata a forbidden response -->
    44                                         <literal type="string">
    45                                                 context.createResponseFrom("Forbidden!");
    46                                                 context.sink("httpResponse:/code", 403);
    47                                         </literal>
    48                                 </argument>
     46                                <identifier>active:interface.rest.HTTPresponse.forbidden</identifier>
    4947                        </request>
    5048                </else>
     
    5351                <request>
    5452                        <verb>SINK</verb>
    55                         <identifier>res:/debug/org.isocat.schemacat.interface.rest.user.schemas.response.xml</identifier>
     53                        <identifier>res:/debug/org.isocat.schemacat.interface.rest.schemas.response.xml</identifier>
    5654                        <argument name="primary">this:response</argument>
    5755                </request>
  • cats/SCHEMAcat/trunk/urn.org.isocat.schemacat.interface.rest/interface/user.dpml

    r3492 r3504  
    55                        <level>INFO</level>
    66                        <message>
    7                                 <literal type="string">[interface.REST] Requested user for id: %1</literal>
     7                                <literal type="string">[interface.REST] [%1] requested user resource for id: %2</literal>
    88                        </message>
     9                        <param>
     10                                <request>
     11                                        <identifier>active:sloot.xpath2</identifier>
     12                                        <argument name="operand">scratch:user</argument>
     13                                        <argument name="operator">
     14                                                <literal type="string">string(/sc:user/@xml:id)</literal>
     15                                        </argument>
     16                                </request>
     17                        </param>
    918                        <param>arg:userID</param>
    1019                </log>
     
    1524                                <identifier>active:isAuthorized</identifier>
    1625                                <argument name="authorizedIDs">
    17                                         <request>
     26                                        <!--<request>
    1827                                                <identifier>active:sloot.xquery</identifier>
    1928                                                <argument name="operator">
     
    2534                                                </argument>
    2635                                                <argument name="userID">arg:userID</argument>
     36                                        </request>-->
     37                                        <request>
     38                                                <identifier>active:xslt2</identifier>
     39                                                <argument name="operand">
     40                                                        <literal type="xml">
     41                                                                <dummy/>
     42                                                        </literal>
     43                                                </argument>
     44                                                <argument name="operator">
     45                                                        <literal type="xml">
     46                                                                <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="2.0">
     47                                                                        <xsl:param name="userID"/>
     48                                                                        <xsl:template match="/">
     49                                                                                <ids>
     50                                                                                        <id>
     51                                                                                                <xsl:value-of select="$userID"/>
     52                                                                                        </id>
     53                                                                                </ids>
     54                                                                        </xsl:template>
     55                                                                </xsl:stylesheet>
     56                                                        </literal>
     57                                                </argument>
     58                                                <argument name="userID">arg:userID</argument>
     59                                        </request>
     60                                </argument>
     61                                <argument name="authorizedRoles">
     62                                        <request>
     63                                                <identifier>active:org.isocat.schemacat.access.data.users.authorizedRoles</identifier>
    2764                                        </request>
    2865                                </argument>
     
    3875                <else>
    3976                        <request assignment="response">
    40                                 <identifier>active:groovy</identifier>
    41                                 <argument name="operator">
    42                                         <!-- TODO: check if this is the proper way to generata a forbidden response -->
    43                                         <literal type="string">
    44                                                 context.createResponseFrom("Forbidden!");
    45                                                 context.sink("httpResponse:/code", 403);
    46                                         </literal>
    47                                 </argument>
     77                                <identifier>active:interface.rest.HTTPresponse.forbidden</identifier>
    4878                        </request>
    4979                </else>
  • cats/SCHEMAcat/trunk/urn.org.isocat.schemacat.interface.rest/interface/userSchemas.dpml

    r3495 r3504  
    11<?xml version="1.0" encoding="UTF-8"?>
    2 <sequence debug="true">
     2<sequence debug="false">
    33        <sloot-debug>
    44                <log>
    55                        <level>INFO</level>
    66                        <message>
    7                                 <literal type="string">[interface.REST] Requested schemas for user id: %1</literal>
     7                                <literal type="string">[interface.REST] [%1] requested schemas for user id: %2</literal>
    88                        </message>
     9                        <param>
     10                                <request>
     11                                        <identifier>active:sloot.xpath2</identifier>
     12                                        <argument name="operand">scratch:user</argument>
     13                                        <argument name="operator">
     14                                                <literal type="string">string(/sc:user/@xml:id)</literal>
     15                                        </argument>
     16                                </request>
     17                        </param>
    918                        <param>arg:userID</param>
    1019                </log>
     
    1625                                <argument name="authorizedIDs">
    1726                                        <request>
    18                                                 <identifier>active:sloot.xquery</identifier>
     27                                                <identifier>active:xslt2</identifier>
     28                                                <argument name="operand">
     29                                                        <literal type="xml">
     30                                                                <dummy/>
     31                                                        </literal>
     32                                                </argument>
    1933                                                <argument name="operator">
    2034                                                        <literal type="xml">
    21                                                                 <ids>
    22                                                                         <id>{$userID}</id>
    23                                                                 </ids>
     35                                                                <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="2.0">
     36                                                                        <xsl:param name="userID"/>
     37                                                                        <xsl:template match="/">
     38                                                                                <ids>
     39                                                                                        <id>
     40                                                                                                <xsl:value-of select="$userID"/>
     41                                                                                        </id>
     42                                                                                </ids>
     43                                                                        </xsl:template>
     44                                                                </xsl:stylesheet>
    2445                                                        </literal>
    2546                                                </argument>
    2647                                                <argument name="userID">arg:userID</argument>
     48                                        </request>
     49                                </argument>
     50                                <argument name="authorizedRoles">
     51                                        <request>
     52                                                <identifier>active:org.isocat.schemacat.access.data.schemas.authorizedRoles</identifier>
    2753                                        </request>
    2854                                </argument>
     
    3763                <else>
    3864                        <request assignment="response">
    39                                 <identifier>active:groovy</identifier>
    40                                 <argument name="operator">
    41                                         <!-- TODO: check if this is the proper way to generata a forbidden response -->
    42                                         <literal type="string">
    43                                                 context.createResponseFrom("Forbidden!");
    44                                                 context.sink("httpResponse:/code", 403);
    45                                         </literal>
    46                                 </argument>
     65                                <identifier>active:interface.rest.HTTPresponse.forbidden</identifier>
    4766                        </request>
    4867                </else>
  • cats/SCHEMAcat/trunk/urn.org.isocat.schemacat.interface.rest/interface/users.dpml

    r3495 r3504  
    55                        <level>INFO</level>
    66                        <message>
    7                                 <literal type="string">[interface.REST] Requested users list by id: %1</literal>
     7                                <literal type="string">[interface.REST] [%1] requested users list.</literal>
    88                        </message>
    99                        <param>
     
    2727                                        </literal>
    2828                                </argument>
     29                                <argument name="authorizedRoles">
     30                                        <request>
     31                                                <identifier>active:org.isocat.schemacat.access.data.users.authorizedRoles</identifier>
     32                                        </request>
     33                                </argument>
    2934                        </request>
    3035                </cond>
     
    3742                <else>
    3843                        <request assignment="response">
    39                                 <identifier>active:groovy</identifier>
    40                                 <argument name="operator">
    41                                         <!-- TODO: check if this is the proper way to generata a forbidden response -->
    42                                         <literal type="string">
    43                                                 context.createResponseFrom("Forbidden!");
    44                                                 context.sink("httpResponse:/code", 403);
    45                                         </literal>
    46                                 </argument>
     44                                <identifier>active:interface.rest.HTTPresponse.forbidden</identifier>
    4745                        </request>
    4846                </else>
Note: See TracChangeset for help on using the changeset viewer.