[OPEN-ILS-GENERAL] SIP2 - Block certain patrons from authenticating for a particular login - Evergreen End

Jason Stephenson jason at sigio.com
Mon Dec 11 15:37:15 EST 2017


On 12/11/2017 01:06 PM, Mike Rylander wrote:
> Josh,
> 
> It might be better added this to the Evergreen driver, which is
> ILS-aware, to avoid pain down the road when SipServer eventually
> changes.  It could be driven (heh) by an <implementation_config> chunk
> in the config file, or perhaps as a new attribute on the <login> element
> (where $server->{account} comes from, IIRC).  This could list one or
> more permissions required for patron authz.  The driver could then test
> for those permissions, and if the patron does not have any of them (or
> maybe all of them, or, perhaps, any/all based on different config
> locations), the authz request fails.

I mostly agree, though I'd like to see SIPServer merged into Evergreen
at this point. It's not compatible with Koha's SIPServer any more, so no
real point in keeping it as a separate project.

Ditto NCIPServer. It became incompatible with Koha pretty much as soon
as I started working on it.


> 
> Thoughts?  Anyone with tuits?
> 
> Thanks.
> 
> 
> --
> Mike Rylander
>  | President
>  | Equinox Open Library Initiative
>  | phone:  1-877-OPEN-ILS (673-6457)
>  | email:  miker at equinoxinitiative.org <mailto:miker at equinoxinitiative.org>
>  | web:  http://equinoxinitiative.org
> 
> On Thu, Dec 7, 2017 at 5:27 PM, Josh Stompro <stomproj at exchange.larl.org
> <mailto:stomproj at exchange.larl.org>> wrote:
> 
>     I think I found a way to hard code this sort of check into
>     sipserver, once I found the correct spot to look.____
> 
>     __ __
> 
>     At the following locations I just added a check to not allow certain
>     combinations of sip login accounts and patron types.  This seems to
>     short circuit the login check/info check correctly, just for the
>     services that we want to restrict.____
> 
>     __ __
> 
>     http://git.evergreen-ils.org/?p=SIPServer.git;a=blob;f=Sip/MsgType.pm;h=bd7cb521beeda53787a64264a0f75a4364285d11;hb=HEAD#l458
>     <http://git.evergreen-ils.org/?p=SIPServer.git;a=blob;f=Sip/MsgType.pm;h=bd7cb521beeda53787a64264a0f75a4364285d11;hb=HEAD#l458>____
> 
>     __ __
> 
>     http://git.evergreen-ils.org/?p=SIPServer.git;a=blob;f=Sip/MsgType.pm;h=bd7cb521beeda53787a64264a0f75a4364285d11;hb=HEAD#l1001
>     <http://git.evergreen-ils.org/?p=SIPServer.git;a=blob;f=Sip/MsgType.pm;h=bd7cb521beeda53787a64264a0f75a4364285d11;hb=HEAD#l1001>____
> 
>     __ __
> 
>     The patron type and login username was readily available.____
> 
>     __ __
> 
>     if ($patron && !($server->{account}='SIP_MNLINK' && $patron->ptype
>     =~ m/LARL Temporary|LARL ND Reciprocal|LARL Fee|LARL ILL/)) {____
> 
>     __ __
> 
>     I love evergreen!  And thanks to wolfram alpha for building me a
>     truth table to make sure I had the logic correct.  ____
> 
>     https://www.wolframalpha.com/input/?i=P+and+not+(+Q+and+Z+)
>     <https://www.wolframalpha.com/input/?i=P+and+not+(+Q+and+Z+)>____
> 
>     __ __
> 
>     Josh Stompro - LARL IT Director____
> 
>     __ __
> 
>     *From:* Open-ils-general
>     [mailto:open-ils-general-bounces at list.georgialibraries.org
>     <mailto:open-ils-general-bounces at list.georgialibraries.org>] *On
>     Behalf Of *Josh Stompro
>     *Sent:* Thursday, December 07, 2017 2:20 PM
>     *To:* Evergreen Discussion Group
>     <open-ils-general at list.georgialibraries.org
>     <mailto:open-ils-general at list.georgialibraries.org>>
>     *Subject:* Re: [OPEN-ILS-GENERAL] SIP2 - Block certain patrons from
>     authenticating for a particular login - Evergreen End____
> 
>     __ __
> 
>     	
> 
>     This sender failed our fraud detection checks and may not be who they appear to be. Learn about spoofing
>     <http://aka.ms/LearnAboutSpoofing>____
> 
>     	
> 
>     Feedback <http://aka.ms/SafetyTipsFeedback>____
> 
>     I just realized that I was wrong about the patron info response not
>     including the patron type, it does include it in the PC message, but
>     I think it would still be nice to do this server side in some cases.____
> 
>     __ __
> 
>     Josh Stompro - LARL IT Director____
> 
>     __ __
> 
>     *From:* Open-ils-general
>     [mailto:open-ils-general-bounces at list.georgialibraries.org
>     <mailto:open-ils-general-bounces at list.georgialibraries.org>] *On
>     Behalf Of *Josh Stompro
>     *Sent:* Thursday, December 07, 2017 11:47 AM
>     *To:* 'Evergreen Discussion Group'
>     <open-ils-general at list.georgialibraries.org
>     <mailto:open-ils-general at list.georgialibraries.org>>
>     *Subject:* [OPEN-ILS-GENERAL] SIP2 - Block certain patrons from
>     authenticating for a particular login - Evergreen End____
> 
>     __ __
> 
>     	
> 
>     This sender failed our fraud detection checks and may not be who they appear to be. Learn about spoofing
>     <http://aka.ms/LearnAboutSpoofing>____
> 
>     	
> 
>     Feedback <http://aka.ms/SafetyTipsFeedback>____
> 
>     Hello, Has anyone come up with a way of controlling authentication
>     via sip2 on the sip2 server side for particular users or types of
>     users?____
> 
>     __ __
> 
>     We have various different services that authenticate via sip2, such
>     as our patron management (cassie), Overdrive, and our state ILL
>     system (MNLINK).  The problem we are running into is that certain
>     user groups (permission groups) shouldn’t be able to access some of
>     those services.____
> 
>     __ __
> 
>     For example, we have temporary users that have more limited
>     capabilities since we cannot fully verify their info, or their
>     residence status is in flux.  We don’t want those patrons to be able
>     to request material from other libraries, but we do want them to be
>     able to access public computers and overdrive.____
> 
>     __ __
> 
>     The patron permission group doesn’t seem like it is something that
>     is sent in the patron status response to the vendors, so I don’t
>     think there is a way for them to check it on their end.  And it
>     seems like it would be more fool proof to handle it on the server
>     side, not trusting a vendor to take care of something.____
> 
>     __ __
> 
>     When we used the III patron API product the info was sent to the
>     vendor (basically the entire patron record was sent which wasn’t
>     great), but it did take care of this issue for us.____
> 
>     __ __
> 
>     I’m wondering if something along the lines of a custom permission
>     would work.  Only allow users in a certain group to authenticate
>     through a certain sip2 connection (identified by the sip2 login).  
>     So a patron had the permission SIP_AUTH_SIP_MNLINK allow their
>     barcode to authenticate.  This would probably also require a library
>     setting to make it opt in since there would be setup required.____
> 
>     __ __
> 
>     Alternatively, add a standing penalty that includes a block in the
>     form |SIP_AUTH_SIP_MNLINK to block authentication for those
>     patrons.  And then make sure we always add that block for users that
>     we don’t want.  Then we could add the penalty manually or with a
>     nightly query.  The SIP code would look for a block in that form and
>     deny auth if it shows up.____
> 
>     __ __
> 
>     I’ve been looking at Open-ILS/src/perlmods/lib/OpenILS/SIP/Patron.pm
>     to see how ether of these might fit in.  I’m not quite sure if the
>     sip2 connection username is available to that code though.  I’ll
>     keep looking.____
> 
>     __ __
> 
>     __ __
> 
>     Thanks____
> 
>     Josh____
> 
>     __ __
> 
>     Lake Agassiz Regional Library - Moorhead MN larl.org
>     <http://larl.org>____
> 
>     Josh Stompro     | Office 218.233.3757 EXT-139
>     <tel:(218)%20233-3757>____
> 
>     LARL IT Director | Cell 218.790.2110 <tel:(218)%20790-2110>  ____
> 
>     __ __
> 
> 


More information about the Open-ils-general mailing list