This project has moved. For the latest updates, please go here.

Problem with user admin pages for less privileged users

Nov 22, 2011 at 8:21 AM

Hi,

I've implemented the FBA Pack for a client. I've modified the code to put the new users in a specific SharePoint group. Fine. This group uses a custom permission level that has a bit less privileges than the Contribute permission level.

Now, the FBA user admin pages work fine when I'm logged in as a administrator. If I log in with a FBA user, I get an access denied error. I found the RequireSiteAdministrator property in the source code and changed it to return false rather than true. Now I don't get the access denied error anymore, however the page (UserDisp.aspx) fails miserably. The error log gives me the following:

Exception message: List 'User Information List' does not exist at site with URL 'https://<URL>'.  Request information:     Request URL: https://<URL>:443/_layouts/FBA/Management/UsersDisp.aspx     Request path: /_layouts/FBA/Management/UsersDisp.aspx     User host address: <IP>     User: 0#.f|fbamembershipprovider|<username>     Is authenticated: True     Authentication Type: Federation     Thread account name: <admin user>  Thread information:     Thread ID: 21     Thread account name: <admin user>     Is impersonating: False     Stack trace:    at Microsoft.SharePoint.SPListCollection.GetListByName(String strListName, Boolean bThrowException)   at Visigo.Sharepoint.FormsBasedAuthentication.FBAUsersView.ExecuteSelect(DataSourceSelectArguments selectArgs)   at System.Web.UI.DataSourceView.Select(DataSourceSelectArguments arguments, DataSourceViewSelectCallback callback)   at System.Web.UI.WebControls.DataBoundControl.PerformSelect()   at System.Web.UI.WebControls.BaseDataBoundControl.EnsureDataBound()   at System.Web.UI.WebControls.CompositeDataBoundControl.CreateChildControls()   at System.Web.UI.Control.EnsureChildControls()   at System.Web.UI.Control.PreRenderRecursiveInternal()   at System.Web.UI.Control.PreRenderRecursiveInternal()   at System.Web.UI.Control.PreRenderRecursiveInternal()   at System.Web.UI.Control.PreRenderRecursiveInternal()   at System.Web.UI.Control.PreRenderRecursiveInternal()   at System.Web.UI.Control.PreRenderRecursiveInternal()   at System.Web.UI.Control.PreRenderRecursiveInternal()   at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)

 

What is that 'User Information List' it's complaining about? 

Can someone please help me out here?

Thanks!

Coordinator
Nov 22, 2011 at 1:39 PM

It's a hidden SharePoint list that stores the user profiles. I've cleaned up how I access the list in version 1.2.0 - so that fix may get it working for you.