Yes, but what I meant was if there's a tool that checks all references (dynamic and links) to see if there's a rights-conflict. Would save me time instead of checking every link on the page.
Well, it's only links to pages used in codebehind. EPiServer listcontrols handles rights in that way that pages not allowed is not listed.
An example of how your problem can occure.
The design has a link to a page that presents information about the webeditors in the sitefooter.
Made like this in HTML, "editors" is a PageReferenceProperty dynamic or paged.
>Site editors
If the page pointed out by "editors" by mistake or any other reason is no longer available to a user, permissions or unpublished, the user will be presented with the login page.
/HAXEN
As I said, I am aware of what's causing the problem. What I want is a quick way of fixing it. It takes a lot of time, checking every link on a page or referers in dynamic properties to find the error.
So what exactly do you want to do?
A tool to find all references from a given page, to other pages, with the access rights for a given user, to determine if the references are valid (allowed)? This is possible, at least for the properties (built-in, custom and dynamic) that are present on a page. This could be built as an edit panel plug-in.
However, the problem is more likely to be in your code, and if the editors can insert links to things that requires authentication, you need to write your templates in a way that can handle access denied exceptions. Only you know how to back out gracefully when such an exception occur, if even possible.
If there are links that should show, even if protected, you can still load the page by using the overloaded GetPage(...) in the DataFactory class (specifying NoAccess). If the user clicks on the link, an Access Denied page will be shown, or the log-on screen will show. This will be more intuitive, as the access denied happended on a specific action (and can be understood by the user), in contrast to "something beeing secured, just don't know what, so I'll deny you everything" type of solution.
Even this will not help you, if someone accidently set a StopPublish date on your front page :-) It happens all the time - you'd be surprised.
/Steve
--
A tool to find all references from a given page, to other pages, with the access rights for a given user, to determine if the references are valid (allowed)? This is possible, at least for the properties (built-in, custom and dynamic) that are present on a page. This could be built as an edit panel plug-in.
---
This is what I'm looking for. I thought maybe it already existed such a tool, but if I find the time I'll write it myself :)
The problem is rather temporary since we are in the midst of releasing a large site where only parts of the tree is released at a time. So for example if the part that's going public inherits a property from a page that isn't going public then this problem would occur. Ofcourse it's a matter of structre also, and we are talking about what would be the most efficent structre of this multi-site installation.