The way the block processes doesn't always call Read for the topic. It
does always check at the AuthorizationProvider, but Craig doesn't want
any changes made there. I have removed the try/catch from Select and
Collect and begun replacing that with various HasPermission in
NamespaceManager. I need to add at least one more HasPermission there
and also one in the Formatter for IncludeTopic.

By having all the correct calls marked with HasPermission then I seem
to get get the proper results, but before I finish checking it in I
need to conduct more tests to make sure there are no adverse side
effects.

John Davidson

On 9/30/07, David Ornstein <[EMAIL PROTECTED]> wrote:
> Hmm.
>
> I guess I'm not sure I see this:
>
> > The calls to BELArrary::Select and Collect are highly generalized
> > methods which do not allow for a HasPermission call consistently
> > within the stack.
>
> Why can't the loop just check for read permission for each topic before it 
> evaluates the block in the loop?
>
> > -----Original Message-----
> > From: [EMAIL PROTECTED] [mailto:flexwiki-
> > [EMAIL PROTECTED] On Behalf Of John Davidson
> > Sent: Sunday, September 30, 2007 9:20 AM
> > To: FlexWiki Users Mailing List
> > Subject: Re: [Flexwiki-users] DenyRead and WikiTalk
> >
> > The calls to BELArrary::Select and Collect are highly generalized
> > methods which do not allow for a HasPermission call consistently
> > within the stack.
> >
> > In most cases dealing with access to topic information there are calls
> > in the stack going through NamespaceManager where it is possible to
> > add HasPermission calls. Craig has put a number of them here already.
> > I would add HasPermission to NamespaceManager::GetTopicProperties and
> > TextReaderForTopic.
> >
> > Using the try/catch block in BELArray worked exactly as expected with
> > the performance hit the only downside. Using the HasPermission
> > prevents the error condition that caused this conversation, but it
> > allows the Name of the topic to be included when it would not be using
> > the try/catch block. The inclusion of the topic name that a user does
> > not have access to in a list is probably acceptable, given that the
> > user is not able to access the actual topic content.
> >
> > John Davidson
> >
> > On 9/30/07, Craig Andera <[EMAIL PROTECTED]> wrote:
> > > No, it's not correct. I'm suggesting that the implementation of
> > > Collect/whatever call HasPermission - no changes to the way the
> > > AuthorizationProvider works.
> > >
> > > There's still a slight chance for an exception due to race conditions
> > > (someone denies permission on a topic after we call HasPermission but
> > before
> > > we call TextReaderForTopic or whatever), but in the absence of either
> > > transactions or support for concurrent programming in WikiTalk (and
> > we're
> > > not going there) then I think it's the best we can do. And the race
> > should
> > > be extremely rare in any event.
> >
> > -----------------------------------------------------------------------
> > --
> > This SF.net email is sponsored by: Microsoft
> > Defy all challenges. Microsoft(R) Visual Studio 2005.
> > http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
> > _______________________________________________
> > Flexwiki-users mailing list
> > Flexwiki-users@lists.sourceforge.net
> > https://lists.sourceforge.net/lists/listinfo/flexwiki-users
>
>
> -------------------------------------------------------------------------
> This SF.net email is sponsored by: Microsoft
> Defy all challenges. Microsoft(R) Visual Studio 2005.
> http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
> _______________________________________________
> Flexwiki-users mailing list
> Flexwiki-users@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/flexwiki-users
>

-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2005.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
Flexwiki-users mailing list
Flexwiki-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/flexwiki-users

Reply via email to