Membership Request to Login Prompt

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,

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.

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.

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?

 

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.

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,

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

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? 

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'

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

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

 

 

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 

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.

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?

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.

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

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

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

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.

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