Service Schemas > Security service

Security service

<?xml version="1.0"?>
<xs:schema
  xmlns:xs="http://www.w3.org/2001/XMLSchema"
  xmlns="http://schemas.sirsidynix.com/symws/security"
  attributeFormDefault="qualified" elementFormDefault="qualified"
  targetNamespace="http://schemas.sirsidynix.com/symws/security">

  <!-- messages -->
  <xs:element name="AuthenticateUserRequest">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="login" type="xs:string" minOccurs="1" maxOccurs="1"/>
        <xs:element name="password" type="xs:string" minOccurs="0" maxOccurs="1"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>

  <xs:element name="AuthenticateUserResponse" type="xs:boolean"/>

  <xs:element name="LoginUserRequest">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="login" type="xs:string" minOccurs="1" maxOccurs="1"/>
        <xs:element name="password" type="xs:string" minOccurs="0" maxOccurs="1"/>
        <xs:element name="workstationID" type="xs:string" minOccurs="0" maxOccurs="1"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>

<xs:element name="LoginUserResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="userID" type="xs:string" minOccurs="1" maxOccurs="1"/>
        <xs:element name="sessionToken" type="xs:string" minOccurs="1" maxOccurs="1"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>

  <xs:element name="LogoutUserRequest"/>

  <xs:element name="LookupUserInfoRequest">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="userID" type="xs:string" minOccurs="1" maxOccurs="1"/>
        <!-- only accountability operators will be able to request accountable information -->
        <!-- assumed to be false if not specified -->
        <xs:element name="includeAccountability" type="xs:boolean" minOccurs="0" maxOccurs="1"/>
        <!-- assumed to be false if not specified -->
        <xs:element name="includeAllowedCommands" type="xs:boolean" minOccurs="0"
          maxOccurs="1"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>

  <xs:element name="LookupUserInfoResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="userID" type="xs:string" minOccurs="1" maxOccurs="1"/>
        <xs:element name="displayName" type="xs:string" minOccurs="1" maxOccurs="1"/>
        <xs:element name="privilegeLevel" type="PrivilegeLevel" minOccurs="1" maxOccurs="1"/>
        <xs:element name="sharedLogin" type="xs:boolean" minOccurs="1" maxOccurs="1"/>
        <xs:element name="validUser" type="xs:boolean" minOccurs="1" maxOccurs="1"/>
        <xs:element name="libraryID" type="xs:string" minOccurs="1" maxOccurs="1"/>
        <xs:element name="accessID" type="xs:string" minOccurs="1" maxOccurs="1"/>
        <xs:element name="environmentID" type="xs:string" minOccurs="1" maxOccurs="1"/>
        <xs:element ref="AccountabilityInfo" minOccurs="0" maxOccurs="1"/>
        <xs:element name="allowedCommand" type="xs:string" minOccurs="0"
          maxOccurs="unbounded"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>


  <xs:element name="LookupSessionInfoRequest"/>

  <xs:element name="LookupSessionInfoResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="userID" type="xs:string" minOccurs="1" maxOccurs="1"/>
        <xs:element name="userAccessID" type="xs:string" minOccurs="1" maxOccurs="1"/>
        <xs:element name="userAccessDescription" type="xs:string" minOccurs="0" maxOccurs="1"/>
        <xs:element name="userEnvironmentID" type="xs:string" minOccurs="1" maxOccurs="1"/>
        <xs:element name="userEnvironmentDescription" type="xs:string" minOccurs="0" maxOccurs="1"/>
        <xs:element name="userProfileID" type="xs:string" minOccurs="1" maxOccurs="1"/>
        <xs:element name="userProfileDescription" type="xs:string" minOccurs="0" maxOccurs="1"/>
        <xs:element name="userLibraryID" type="xs:string" minOccurs="1" maxOccurs="1"/>
        <xs:element name="userLibraryDescription" type="xs:string" minOccurs="0" maxOccurs="1"/>
        <xs:element name="serverIPAddress" type="xs:string" minOccurs="1" maxOccurs="1"/>
        <xs:element name="serverPlatform" type="xs:string" minOccurs="1" maxOccurs="1"/>
        <xs:element name="serverVersion" type="xs:string" minOccurs="1" maxOccurs="1"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>

  <!-- objects -->
  <!-- values correspond to the Symphony server "user hierarchy" enumeration -->
  <xs:element name="AccountabilityInfo">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="clearanceID" type="xs:string" minOccurs="1" maxOccurs="1"/>
        <xs:element name="patronType" minOccurs="0" maxOccurs="1">
          <xs:simpleType>
            <xs:restriction base="xs:string">
              <xs:enumeration value="EXTERNAL"/>
              <xs:enumeration value="INTERNAL"/>
            </xs:restriction>
          </xs:simpleType>
        </xs:element>
        <xs:element name="clearanceGrantingFacility" type="xs:string" minOccurs="0" maxOccurs="1"/>
        <xs:element name="citizenshipID" type="xs:string" minOccurs="0" maxOccurs="1"/>
        <xs:element name="ssn" type="xs:string" minOccurs="0" maxOccurs="1"/>
        <xs:element name="birthDate" type="xs:string" minOccurs="0" maxOccurs="1"/>
        <xs:element name="birthPlace" type="xs:string" minOccurs="0" maxOccurs="1"/>
        <xs:element name="accessRestrictionID" type="xs:string" minOccurs="0"
          maxOccurs="unbounded"/>
        <xs:element name="needToKnowID" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>

  <xs:simpleType name="PrivilegeLevel">
    <xs:restriction base="xs:string">
      <xs:enumeration value="EXTEND_PUB"/>
      <xs:enumeration value="PUBLIC"/>
      <xs:enumeration value="STAFF"/>
      <xs:enumeration value="SUPERVISOR"/>
      <xs:enumeration value="SYSADMIN"/>
    </xs:restriction>
  </xs:simpleType>

</xs:schema>

 


© 2009-2012 SirsiDynix