[Search for users] [Overall Top Noters] [List of all Conferences] [Download this site]

Conference iosg::all-in-1_v30

Title:*OLD* ALL-IN-1 (tm) Support Conference
Notice:Closed - See Note 4331.l to move to IOSG::ALL-IN-1
Moderator:IOSG::PYE
Created:Thu Jan 30 1992
Last Modified:Tue Jan 23 1996
Last Successful Update:Fri Jun 06 1997
Number of topics:4343
Total number of notes:18308

1162.0. "Partition/Drawer access" by KERNEL::SIMPSONR (fred) Mon Aug 03 1992 14:16

  I have a customer who is writing a procedure to 'make copies of documents'
  and to 'refile documents'. He wishes to select a drawer providing it has write 
  access, and does so by checking the ACL's. This works fine for the local 
  partition but does not work for remote partitions.

  Does anyone know if it is possible to check the remote partition dsab in order
  to find if there is write access to a particular drawer.

  Thanks in advance,
  Richard Simpson.
T.RTitleUserPersonal
Name
DateLines
1162.1IOSG::MAURICECeci n'est pas une noteMon Aug 03 1992 16:3116
    Hi,
    
    There is no way that I know of since the File Cabinet Server (used for
    all access to remote drawers) does not return this information. If the
    drawer is remote your customer's application will have to go ahead with
    the operation and and deal with the failure condition. Note that with
    network links being vulnerable to failure it is important to check for
    failure, and with all the up-front checks in the world there is no
    guarantee that any remote drawer operation id going to work.
    
    Sorry
    
    Stuart
    
    
    
1162.2Doable, but far from fun or realisticCHRLIE::HUSTONMon Aug 03 1992 17:3130
    
    It is possible, but not nice at all, and it requires your application
    to do alot of the work. 
    
    There is also another problem that you will need to over come but 
    more on that later.
    
    Here is how you could do it (you will soon see why it is best to just
    try the write):
    
    	Open a session to a filecabinet that contains that drawer, the one
    in question probably will.
    
    	Call OafcListW and ask for the attribute OafcT_Acl and specify
    the drawer UID in the allsource block.
    
    	This will return you the ACL on the drawer, parse this acl and 
    see if it contains ACEs that give you what you want. Now for the catch.
    The UICs used in the ACE will be on the REMOTE system, there is no way
    to map them to yoru system. In other words, in order for this to be
    doable you would need to know the usernaem you proxy into when you
    connect to the remote system and look for this is the ACL.
    
    As Stuart said, the best way is to simply try the operation and let
    the FCS figure out if you have access, you should either get
    a return status of OafcNormal (it worked) or OafcSecAccessDenied
    (which means you don't have access).
    
    --Bob