views:

206

answers:

1

What I have?

I have a ASP.NET page deployed in layouts folder of 12 hive in SharePoint. This page makes use of Accordion control in AjaxControlToolkit.dll V3.5.40412.2.

I have placed the page code behind class assembly and AjaxControlToolkit.dll in Virtual Directory bin folder.

What I want?

I want to load this page when a link clicked from a web part for users of "Visitors" site group when the DLLs are placed in virtual directory bin folder.

What problem am I facing?

The page loads properly for administrator. But, for "Visitors", it shows "The website declined to show this webpage" error message.

In these scenarios the page works fine for "Visitors":

  1. If I place both the assemblies in GAC
  2. If I give Everyone read permission to AjaxControlToolkit.dll (in bin)

Am I missing something here?

Update: One strange thing I noticed was I removed everyone read access to the DLL and given one of the users in "Visitors" group read permission to the DLL. Then, I tried to login with that user and it works fine for him. But, now, it is working for all the users in "Visitors" group. I am surprised! When I removed the user read permission again same error repeated for all the users. How can it happen?

A: 

DLL's that are placed in the bin folder do not run uner Full Trust, you need to create a Code Access Security (CAS) policy file and deploy that to your sharepoint application. CAS policies are used by the .NET framework to assign execution rights etc. to (specific) dll's.

More info here.

Colin
I have defined Full trust in my configuration file. So, I don't think CAS policies should matter.
Vijay