Membership Request to Login Prompt

Nov 22, 2011 at 7:59 PM

So I'm experiencing a curious phenomenon with the membership request web part.

I have it posted to a site with anonymous access enabled for the whole site. When an anonymous user uses the web part to create a user, upon clicking "Create User" they are taken to the login prompt page.

I assume that the create user button must be throwing a request which is requiring permissions or authentication, is that the case and how do i remedy this?

thanks,

Coordinator
Nov 22, 2011 at 8:03 PM

Are you using version 1.2.0? I did fix a bug in 1.2.0 with anonymous permissions on the membership request web part.

Nov 28, 2011 at 1:41 PM
Thanks for the quick response, I am using 1.1.0 so I will update.
cheers,
Evan Riser
From: [email removed]
Sent: Tuesday, November 22, 2011 4:03 PM
To: [email removed]
Subject: Re: Membership Request to Login Prompt [Sharepoint2010FBA:280468]

From: ccoulson

Are you using version 1.2.0? I did fix a bug in 1.2.0 with anonymous permissions on the membership request web part.

Nov 28, 2011 at 8:28 PM
Edited Nov 28, 2011 at 8:47 PM

I applied the latest version with no issue. However now when you click "Create User" the text "Unknown Error" appears below the captcha field in red.

For reference our environmment does not have SP1 applied let alone any of the CUs. Additionally the site this is used in has publishing enabled and the web part is added to a blank webpart page created in the "pages" library.

I looked at the event logs and found the following:

Event ID 6875: "Error loading and running event receiver Visigo.Sharepoint.FormsBasedAuthentication.MembershipReviewHandler in Visigo.Sharepoint.FormsBasedAuthentication, Version=1.0.0.0, Culture=neutral, PublicKeyToken=9dba9f460226d31d. Additional information is below.

: Column '_Status' does not exist. It may have been deleted by another user.  /fba/selfservice/Pages"

Can I simply add a column title "_status" to the pages library? If so what data type is it?

 

Coordinator
Nov 28, 2011 at 8:31 PM

I added the unknown error message in 1.2 when an exception occurs.  If you check your SharePoint log file, you should find the exception which will hopefully explain what is going on.

Nov 29, 2011 at 2:53 PM

Not sure if my addition above came through but I checked the logs and found event ID 6875 stating a missing column "_Status" and I was wondering if I could simply readd it or redeploy solution to resolve.

thanks,

Coordinator
Nov 29, 2011 at 3:47 PM

I'm not sure why the Status column would be missing.  But a redeploy should recreate the MembershipReviewList and solve the problem.  If it doesn't you might want to check the log for errors during the deploy process, and maybe do a manual deploy:

http://technet.microsoft.com/en-us/library/cc262995.aspx

Mar 5, 2012 at 6:44 PM
Edited Mar 5, 2012 at 7:01 PM

I have the same error.  I was not getting this error (that I was able to see) before I enabled Publishing.  I reverted back to version 1.1 and got the same problem.

I installed on another SharePoint site (with Publishing enabled) and got the same error there too.

It is happening in the ItemUpdated event in the MembershipReviewHandler.cs on the line:

status = (MembershipStatus)Utils.GetChoiceIndex(list.Fields.GetFieldByInternalName(MembershipReviewListFields.STATUS) as SPFieldChoice, item[MembershipReviewListFields.STATUS].ToString());

I did a dump of all the field InternalNames and there is no "_status"
foreach (SPField f in item.Fields)
{
   System.Diagnostics.Debug.WriteLine(f.InternalName);
}

I read someplace that there was a way to turn on/off membership approval in SP.  Could this be a factor?  Or maybe it is just by enabling Publishing Sites? 

Coordinator
Mar 5, 2012 at 7:39 PM

I have verified that deleting the 'Site Membership Review List' and redeploying fixes the issue. You can find it the Site Membership Review List in the root of the site collection using SharePoint Designer.

There's an issue raised here, which i'll work on fixing for the next release:

http://sharepoint2010fba.codeplex.com/workitem/743

As for turning off membership approval - that should also fix it as it will not use the Site Membership Review List. To turn it off, go:

Site Settings -> FBA Site Configuration -> Uncheck 'Review Membership Requests'

May 9, 2012 at 1:23 PM

Hi Chris,

Sorry, I already wrote a reply on another thread (http://sharepoint2010fba.codeplex.com/discussions/259533) when I found this one.

I basically got to the point where it redirects you to the login page on registration. I disabled Membership Review, which made it work, however I need it. So I've tried what you said in your last post post, deleted the Membership Review List, and redeployed the pack but it's returned to just how it was.

The deployment runs fine as far as I can tell:

PS C:\Users\Admin\Desktop\SharePoint2010FBAPack.1.2.0> .\deploy http://admin-pc:16132/

Security Warning
Run only scripts that you trust. While scripts from the Internet can be useful, this script can potentially harm yourcomputer.

Do you want to run C:\Users\Admin\Desktop\SharePoint2010FBAPack.1.2.0\Deploy.ps1?
[D] Do not run  [R] Run once  [S] Suspend  [?] Help (default is "D"): R

Security Warning
Run only scripts that you trust. While scripts from the Internet can be useful, this script can potentially harm yourcomputer.

Do you want to run C:\Users\Admin\Desktop\SharePoint2010FBAPack.1.2.0\UnDeploy.ps1?
[D] Do not run  [R] Run once  [S] Suspend  [?] Help (default is "D"): R

Going to disable feature
Going to uninstall feature
Going to uninstall solution
Waiting for job to finish
Waiting to finish job solution-deployment-visigo.sharepoint.formsbasedauthentication.wsp-0..............................................................................Finished waiting for job..
Going to remove solution
Going to add solution
Name                           SolutionId                           Deployed----                           ----------                           --------visigo.sharepoint.formsbase... 956715d5-f34c-4b00-bfb7-8c35d5fa0f62 False
Going to install solution to all web applications
Waiting for job to finish
Waiting to finish job solution-deployment-visigo.sharepoint.formsbasedauthentication.wsp-0....Finished waiting for job..
Going to enable Feature

Lastly, this is somehow because of the FBA pack, I can't access my site settings screen. The actual page that has the links to different parts of the settings.

If I type in url manually, I can get to all of the FBA admin pages, eg. http://admin-pc:16132/_layouts/FBA/Management/UsersDisp.aspx will show me the page listing users in the database. It seems something on the page is causing an error, but what's weird is that I've extended the app, with a site that uses Windows authentication, and I can see the site settings page with all links, however in this site, none of the FBA admin features work because I haven't setup FBA in this.

Hope all this makes sense and someone has an answer,
thanks in advance,

Bav

Coordinator
May 9, 2012 at 3:07 PM

Glad to hear you got it figured out that it was the membership review list causing the issues.

Since it's a permissions issue, I don't think deleting the list + reinstalling will help. That was to fix a column name issue.

I've never heard of the site settings page disappearing before. Since you can access it when logged in with windows authentication, it sounds like it's a permissions problem. Make sure that your fba user is a site collection administrator.

As for resolving the permissions issue with the membership review list, try the anonymous access settings I proposed for your last post:

http://sharepoint2010fba.codeplex.com/discussions/259533

 

 

May 15, 2012 at 3:54 PM

Hi Chris,

I worked out why my settings page was erroring.

Basically, the links to 'Role Management', 'Site Configuration' and 'User Management' all had the same ID, 'FBAUserManagement', as specified in the FBAMenus\Elements.xml file.

I just made them unique in the xml file, then restarted my site, and it's working now. I'll post it in the issue tracker and leave it to you. Weird thing is, it doesn't seem like anyone else has this issue, and on my extended site, this doesn't pose a problem.

Anyway, sorted now,

Thanks,
Bav 

Coordinator
May 15, 2012 at 4:28 PM

Thanks for catching this and posting the issue. It is sort of strange that this doesn't affect everybody. I'll fix it in the next release.

May 15, 2012 at 4:40 PM

Indeed, it doesn't cause an error on my extended site, which I only created so that I could work on it in SharePoint Designer. Maybe most people only use FBA on an extended site?

Coordinator
May 15, 2012 at 4:43 PM

No, I wouldn't say that's the case. I've done a lot of testing without extended sites, and i've never come across an error because of the ID's. So i'm not sure why it's causing an error only for you - but I am surprised that the multiple ID's don't cause error's in everybody's environments.

Jun 1, 2012 at 3:28 PM

I've been using FBA Pack (latest version) for the last few months (love it).  I just started to create a custom login page.  No more selecting of Window or Forms Authentication - this works fine.  I now want to add a link to Password Recovery and for self Registering.  My question - when I create the links for each where am I pointing them to.  Example: <a href=="http://sharepoint/_layouts/fba/PasswordRecovery.aspx">   Thank you

Coordinator
Jun 1, 2012 at 3:49 PM

There are no built in pages for password recovery and registration - just web parts. You can create a new page in SharePoint, give it anonymous access, add the web part(s) to the page, and then just use the url for that page.  Alternatively you can create an application page, if you want to make the page available to multiple sites. Some details of doing this are here:

http://sharepoint2010fba.codeplex.com/discussions/259533

Jun 2, 2012 at 5:10 PM

Thanks Chris.  I created application pages but have a problem.  If the Site URL is set to http://Sharepoint I receive the message "A Membership Provider has not been configured correctly. Check the web.config setttings for this web application" when I go the http://sharepoint/_layouts/Password/Password.aspx Http://Sharepoint default is Windows.  http://Sharepoint:88/ is claims base and the membership provider is setup here.  If I change the site to this I get a non-descript error.

I am very new to Sharepoint (taking a class next week - finally).  I also don't know anything about Visual Studio and C# - so sorry if I am asking basic questions but should I be able to use the http://sharepoint:88/ for the application?

thanks for your help

Coordinator
Jun 2, 2012 at 5:23 PM

You should be able to use the http://sharepoint:88/ for the application. You can also get it working with http://sharepoint if you want to:

The fba pack will work on any zone of a web application, as long as at least one zone of that web application has been setup with the FBA.  The catch is that you do have to have the of the membership/role provider entries in the web.config of each zone you'll be accessing.  One trick to get around putting the membership/role provider entries everywhere is to put them in your machine.config, so they'll be available everywhere.

Jun 7, 2012 at 2:42 PM

Actually I was incorrect - helps to have a little training.

 

The app has been deployed globally.  When I go to Sharepoint/_layouts/Password/Password.aspx the error is "A Membership Provider has not been configured correctly. Check the web.config setttings for this web application"  (including the 3 "t"s in Settings).  This is fine because the Membership Provider is not setup here.  It's setup in Sharepoint:88

When I go to Sharepoint:88/_layouts/Password/Password.aspx  there is an Unexcepted Error.  The logs show the following:

 

Name=Request (GET:http://sharepoint:88/_layouts/Password/Password.aspx)    5191c80f-acd1-4fd0-ada2-b8ac865e0525
06/07/2012 10:32:36.90     w3wp.exe (0x1364)                           0x15E4    SharePoint Foundation             Monitoring                        b4ly    High        Leaving Monitored Scope (Performance Inspect Scope). Execution Time=128.319660739005     
06/07/2012 10:32:37.17     w3wp.exe (0x1364)                           0x176C    SharePoint Foundation             Runtime                           tkau    Unexpected    System.NullReferenceException: Object reference not set to an instance of an object.    at Microsoft.SharePoint.SPWebPartCollectionInitialState.SPWebPartCollectionInitialStateCore(WebPartDataOrigin dataOrigin, SPWeb web, Uri pageUrl, String serverRelativeUrl, PageView pageView, UserMode initialUserMode, Boolean includeHidden, Boolean forRender, Boolean canCustomizePages, Boolean canPersonalizeWebParts, Boolean canAddDeleteWebParts, HttpContext context)     at Microsoft.SharePoint.SPWebPartCollectionInitialState..ctor(SPWeb web, Uri pageUrl, PageView pageView, Int32 count, Object[,] resultSet, Boolean includeHidden, Boolean forRender, HttpContext context)     at Microsoft.SharePoint.WebPartPages.SPWebPartManager.SPWebPartManagerCore(SPWebPartCollectionInitialState initialState)     at Micro...    5191c80f-acd1-4fd0-ada2-b8ac865e0525
06/07/2012 10:32:37.17*    w3wp.exe (0x1364)                           0x176C    SharePoint Foundation             Runtime                           tkau    Unexpected    ...soft.SharePoint.WebPartPages.SPWebPartManager..ctor()     at ASP._layouts_v4_master.__BuildControlm()     at ASP._layouts_v4_master.__BuildControl__control20()     at ASP._layouts_v4_master.__BuildControl__control2()     at ASP._layouts_v4_master.__BuildControlTree(_layouts_v4_master __ctrl)     at System.Web.UI.MasterPage.CreateMaster(TemplateControl owner, HttpContext context, VirtualPath masterPageFile, IDictionary contentTemplateCollection)     at System.Web.UI.Page.get_Master()     at System.Web.UI.Page.ApplyMasterPage()     at System.Web.UI.Page.PerformPreInit()     at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)    5191c80f-acd1-4fd0-ada2-b8ac865e0525
06/07/2012 10:32:37.36     w3wp.exe (0x1364)                           0x176C    SharePoint Foundation             Monitoring                        b4ly    Medium      Leaving Monitored Scope (Request (GET:http://sharepoint:88/_layouts/Password/Password.aspx)). Execution Time=682.376391412875    5191c80f-acd1-4fd0-ada2-b8ac865e0525

Why am I getting this?  The only difference in code is DynamicMasterPageFile="~masterurl/default.master" instead of MasterPageFile="~layouts/default.master"  I've change this and have the same issue.

Thank you for your help

Coordinator
Jun 7, 2012 at 3:40 PM

I can't say i've seen that error before, but it looks like it's having problems adding the web part to the page. Is the FBA Pack deployed and feature activated on Sharepoint:88? Do the web parts work if you add them to a standard SharePoint page on that site?

Jun 7, 2012 at 3:53 PM
Edited Jun 7, 2012 at 8:49 PM

I knew I forgot something. FBA is deployed sharepoint:88 and the webparts work


Jun 7, 2012 at 4:41 PM
Edited Jun 7, 2012 at 8:49 PM

What do you mean by: "feature activated on Sharepoint:88"?


Coordinator
Jun 7, 2012 at 4:44 PM

I mean, make sure that 'Forms Based Authentication Management' is activated under the Site Collection Features on SharePoint:88.

SharePoint:88 -> Site Settings -> Site Collection Features

 

Jun 7, 2012 at 8:49 PM

Yes it's activate

Coordinator
Jun 7, 2012 at 8:56 PM

I'm not sure. I'd say try to pinpoint the problem by removing everything until you have a working page, and then incrementally add items back until there's an issue.  You may want to try using the simple.master master page as well - that's what the login pages use. Maybe take a look at the built in login pages and look for differences.