Documents
Resources
Learning Center
Upload
Plans & pricing Sign in
Sign Out

Introduction to Grouper - Internet2

VIEWS: 0 PAGES: 23

									Grouper Training – Admin – Subject API
                – Part 1

          Shilen Patel
          Duke University




 This work licensed under a Creative Commons Attribution-NonCommercial 3.0 Unported License.
Contents

• Introduction
• Source adapters
  •   Group Source Adapter
  •   Entity Source Adapter
  •   JDBC Source Adapter
  •   Alternate JDBC Source Adapter
  •   JNDI Source Adapter



                                      2
Introduction

• Used by Grouper to integrate with
  source systems.
• Avoids replicating all of your subject
  data into Grouper.




                                           3
Introduction (continued)

• Subjects have the following properties:
  •   id
  •   type (person, group, application)
  •   sourceId
  •   name
  •   description
  •   Other attributes including other identifiers.



                                                      4
Introduction (continued)




                           5
Source Adapters:
Group Source Adapter
• Source adapter to resolve Grouper
  groups as subjects.
• Configured by default in the
  sources.xml file and usually does not
  require changes.




                                          6
Source Adapters:
Entity Source Adapter
• Source adapter to resolve Grouper
  entities as subjects.
• Configured by default in the
  sources.xml file and usually does not
  require changes.




                                          7
Source Adapters:
JDBC Source Adapter
• Adapter class:
 edu.internet2.middleware.grouper.subj.GrouperJdbcSourceAdapter

• Source adapter to resolve subjects
  (usually people) in relational databases.




                                                                  8
Source Adapters:
JDBC Source Adapter (continued)
• Database connection settings
  • Two connection providers:
    • edu.internet2.middleware.subject.provider.C3p0JdbcConnectionProvider
    • edu.internet2.middleware.grouper.subj.GrouperJdbcConnectionProvider

  • Example configuration
      <init-param>
       <param-name>jdbcConnectionProvider</param-name>
       <param-value>edu.internet2.middleware.grouper.subj.GrouperJdbcConnectionProvider </param-value>
      </init-param>




                                                                                                    9
Source Adapters:
JDBC Source Adapter (continued)
• Specify queries based on SQL
  statements:
  • searchSubject
  • searchSubjectByIdentifier
  • search




                                  10
Source Adapters:
JDBC Source Adapter (continued)
• Specify subject id, name, and
  description
   <init-param>
      <param-name>SubjectID_AttributeType</param-name>
      <param-value>id</param-value>
   </init-param>
   <init-param>
      <param-name>Name_AttributeType</param-name>
      <param-value>name</param-value>
   </init-param>
   <init-param>
      <param-name>Description_AttributeType</param-name>
      <param-value>description</param-value>
   </init-param>




                                                           11
Source Adapters:
JDBC Source Adapter (continued)
• Additional identifiers (comma
  separated)
   <init-param>
    <param-name>identifierAttributes</param-name>
    <param-value>LOGINID</param-value>
   </init-param>




                                                    12
Source Adapters:
Alternate JDBC Source Adapter
• Adapter class:
 edu.internet2.middleware.grouper.subj.GrouperJdbcSourceAdapter2

• Assumes that one table or view
  contains all the subject data.
• Performs more intelligent searching.
• Database connection settings
  • Same as previous JDBC source adapter.



                                                                   13
Source Adapters:
Alternate JDBC Source Adapter
(continued)
• Specify table/view, subject id, name,
  and description
   <init-param>
      <param-name>dbTableOrView</param-name>
      <param-value>person_source_v</param-value>
   </init-param>
   <init-param>
      <param-name>subjectIdCol</param-name>
      <param-value>some_id</param-value>
   </init-param>
   <init-param>
      <param-name>nameCol</param-name>
      <param-value>name</param-value>
   </init-param>
   <init-param>
      <param-name>descriptionCol</param-name>
      <param-value>description</param-value>
   </init-param>



                                                   14
Source Adapters:
Alternate JDBC Source Adapter
(continued)
• Searches (not by id or identifier)
   <init-param>
    <param-name>lowerSearchCol</param-name>
    <param-value>description_lower</param-value>
   </init-param>


• Sorting (optional)
   <init-param>
    <param-name>defaultSortCol</param-name>
    <param-value>description</param-value>
   </init-param>




                                                   15
Source Adapters:
Alternate JDBC Source Adapter
(continued)
• Additional identifiers
     <init-param>
      <!-- col which identifies the row, perhaps not subjectId, add multiple by incrementing the 0 index -- >
      <param-name>subjectIdentifierCol0</param-name>
      <param-value>pennname</param-value>
     </init-param>


• Additional attributes
  <!-- now you can count up from 0 to N of attributes for various cols.
  The name is how to reference in subject.getAttribute() -- >
     <init-param>
      <param-name>subjectAttributeCol0</param-name>
      <param-value>pennname</param-value>
     </init-param>
     <init-param>
      <param-name>subjectAttributeName0</param-name>
      <param-value>PENNNAME</param-value>
     </init-param>




                                                                                                                16
Source Adapters:
JNDI Source Adapter
• Adapter class:
 edu.internet2.middleware.grouper.subj.GrouperJndiSourceAdapter

• Source adapter to resolve subjects
  (usually people) in an LDAP or AD.




                                                                  17
Source Adapters:
JNDI Source Adapter (continued)
• LDAP connection settings
  • Specify within sources.xml file.
  • Use an external file
      <init-param>
       <param-name>ldapProperties_file</param-name>
       <param-value>ldap.properties</param-value>
      </init-param>




                                                      18
Source Adapters:
JNDI Source Adapter (continued)
• Specify queries based on filters with a
  search base and scope:
  • searchSubject
  • searchSubjectByIdentifier
  • search




                                            19
Source Adapters:
JNDI Source Adapter (continued)
• Specify subject id, name, and
  description
   <init-param>
    <param-name>SubjectID_AttributeType</param-name>
    <param-value>exampleEduRegID</param-value>
   </init-param>
   <init-param>
    <param-name>Name_AttributeType</param-name>
    <param-value>cn</param-value>
   </init-param>
   <init-param>
    <param-name>Description_AttributeType</param-name>
    <param-value>description</param-value>
   </init-param>




                                                         20
Source Adapters:
JNDI Source Adapter (continued)
• Additional attributes
   <attribute>cn</attribute>
   <attribute>sn</attribute>
   <attribute>uid</attribute>
   <attribute>department</attribute>
   <attribute>exampleEduRegId</attribute>




                                            21
Quiz

Click on the quiz link in the video
description to reinforce your knowledge of
this topic.




                                             22
                          Thanks!

                   Further information:
•   Infosheets, mailing lists, wiki, downloads, etc.:

								
To top