CKS:IEE Pre-Beta Defect Reports

Topics: Internet/Extranet Edition
Coordinator
Oct 12, 2007 at 4:56 PM
This is the place to register any defects that you find in the Pre-Beta release of the Forms Based Authentication solution.
Oct 13, 2007 at 9:43 AM
Edited Nov 1, 2007 at 6:55 PM
Hi Paul,
really good stuff.

My environment: wss3.0 with German Language Pack, W2k3 SP2 engl, SQLExpress

Following issues occured when installing on WSS3.0 site

1. on Registration webpart - display works fine
minor issues:
- "Sign up for your new account" is always displayed in addition to title/header-text and instruction text
- finish desitination url does not work - pages stays at the finish form...
- Button on finished form cannot be renamed

2. After registration the site admin always gets these two mails
(from default outgoing mail address set in webapplication settings!)

membership pending
<html xmlns:MembershipRequest="cks:MembershipRequest"><head><title>Membership Request Rejected</title></head><body><div><p>Your membership request has been rejected.</p><p>If you feel that this is an error please try again or contact the site administrator.</p><p>Thank you.</p></div></body></html>

and

subject: Membership rejected
body: <html xmlns:MembershipRequest="cks:MembershipRequest"><head><title>Membership Request Rejected</title></head><body><div><p>Your membership request has been rejected.</p><p>If you feel that this is an error please try again or contact the site administrator.</p><p>Thank you.</p></div></body></html>
But user is added as entry to site membership review list

3. on site membership review list - when I change status from pending to approved by editing the item - the item vanishes from the list, user is being added into user database but no email is sent out to the user.


4. Site settings
FBA user management (/_layouts/FBA/Management/UsersDisp.aspx)
brings error: Value does not fall within the expected range

FBA role management - after manually activating the feature - worked fine

but
/_layouts/FBA/Management/usernew.aspx works

5. Password changing works fine
but password must be set to "clear" in web.config
Encrypted does not work....

6. Password retrieval:

works fine for all users, even for those not being registered correctly
But this time mail is sent from the mailaddress set in the <system.net> portion of the web.config file!!!

Questions:
Can users be added to a default sharepoint group after being approved?
What is the function of the profile link -would be really good if addtional data could be required from the registrant - How to handle this?

Thx for your anser and effort work
WERNER

P.S. Checked now on a pure English installation without any language packs- same errors with membership request webpart mailing system
admin page _layouts/FBA/Management/UsersDisp.aspx is now shown without the above mentioned error,
but no user but the site owner is shown...
When creating a user from this site - there ist no password security question field... - hence not working
If you disable security question in config.web then it is working

1.11.2007 Partly exchanging the admin pages with the pages supplied in the other FBA management projekt resource (solution IDs are the same) resolves most of the admin pages errors even for my german LP installation.
Oct 15, 2007 at 12:39 AM

I have installed on an English MOSS with Norwegian Language Pack.
I am installing FBA on a site with Norwegian Template.

/_layouts/FBA/Management/UserDisp.aspx does not work and I get this error:
The given key was not present in the dictionary. at System.ThrowHelper.ThrowKeyNotFoundException()
at System.Collections.Generic.Dictionary`2.get_Item(TKey key)
at CKS.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.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)

/_layouts/FBA/Management/usernew.aspx returns following error:
The Role Manager feature has not been enabled. at System.Web.Security.Roles.EnsureEnabled()
at System.Web.Security.Roles.GetAllRoles()
at CKS.FormsBasedAuthentication.UserNew.OnLoad(EventArgs e)
at System.Web.UI.Control.LoadRecursive()
at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)

I can find users that I've added when searching so I can verify that membership is ok, but I do not know any way to verify that Role are OK. But, I've been through the setup several times and it looks ok.
Change Password webpart works ok when added to the main page of a team site. I was not able to add it to my default MOSS first page.


Roger

Oct 23, 2007 at 6:10 AM
Edited Oct 23, 2007 at 6:14 AM
Thanks, Paul, and team. These webparts give us a big headstart on creating a user-editable internet site. They look and work great on our test site.

The solution installed with no problems once I added the path to stsadmin.exe to my path statement. I'm a bit concerned about something stored in a directory named "12" but that's a Microsoft problem. I'm guessing that's the folder the developer had it in when they finally got it to work and everyone was afraid to change it. Let's hope it stays there. At least it's not 12.0.1415972 like some .Net folders. {chuckle}

Your deploy.cmd file ran without a hitch once it found stsadmin, after my path addition. Very easy. We like that.

We have discovered one problem with the solution however. It involves the CAPTCHA functionality. Occasionally the CAPTCHA picture is not found. The small box with the red "X" is displayed denoting a missing image file. After clicking the "Can't see the word?" link a picture usually appears.

Even when we can see the picture, the log-in doesn't always accept the word, and we will have to click the "Can't see the word?" link again to get an image that the database recognizes as matching the word entered. I have checked closely, including the case, to be sure that the correct word is entered. Two different servers and two different users experienced the same problems of broken image links, and correctly-entered words not being accepted as correct..

This is the only problem we have found and are ready to roll with a live beta as soon as we can be sure that the CAPTCHA feature is working. I'd like to just turn CAPTCHA off actually, but in this webpart that option is not available.

I am also concerned about the heavy use of green, red, and brown in the CAPTCHA images. These are the color-blind sensitive colors and some users are bound to have a problem with this. I realize that the CAPTCHA images were not created specifically for this solution, but since MS runs this site I felt it is worth mentioning here. Possibly in the future we could get images that are more readable by all users. Some of the text is also just too distorted to read. I am sure some potential log-in users will find this a problem, and just leave.

Thanks again. We are very excited about adding some new input fields to the sign-up part of the solution and sending it to production.

We have the solution installed on WinServer 2003 R2 with SQL Server 2005.

Cheers,
Craig W
Oct 23, 2007 at 8:31 PM
Today I found the FBA Member Request Management and FBA User Management links. The FBA Role Management link did not show up.

When I click on FBA User Management a SharePoint Error page is returned with the message "Unknown Error". I have the CustomErrors in the site's web.config set to RemoteOnly, but this is still the only error message I see.

The FBA Member Request Management list opens fine and my FBA users are displayed, but I did have some unexpected results. I created a new FBA Member at the list page and they showed on the list, but SharePoint's People and Groups page does not recognize the user when I try to add them there. Also I was not able to change an FBA user's permissions from the FBA Member Request Management pages, even though I could follow a sequence of steps to do that.

We can work around these issues, and will plan a beta rollout as soon as we can get the CAPTCHA functionality to work properly. I am new to SharePoint programming, but later today I will dive-in and see if I can help with a patch or two. It all looks very confusing compared to ASP.Net, so it may be a few weeks before I get anywhere. I appreciate all of the hard work the team is doing.

Have a good one,
Craig W
Oct 29, 2007 at 10:33 AM
Edited Oct 29, 2007 at 10:33 AM
Hi all,

I have the same error for User management, i posted a message in this discussion list :
- http://www.codeplex.com/CKS/Thread/View.aspx?ThreadId=16627

Anybody have the solution ?

Thanks for all

Romelard Fabrice (MVP)
Oct 31, 2007 at 4:44 PM
Edited Oct 31, 2007 at 5:02 PM
Hi,

I am having also an error for User management: When I go to Site Settings -> Users and Permissions part -> FBA User Management, an unknown error is returned.

Next to that, when I add the Change Password and Password Recovery webpart to a page, I cannot check in or publish this page. Following error is thrown: This page contains content or formatting that is not valid. You can find more information in the affected sections.

It is the home page of a publishing site. Installation is a MOSS 2007.
Nov 1, 2007 at 6:52 PM
Hi Patrick
I managed to get the Admin Pages working - besides one small destination page error - it works fine.
I can send it to you (my email:werner@umayr.net)
did you manage to get the registration webpart working??? With emails correctly sent out to the registering user?
RGDS
WERNer

Patrik wrote:
Hi,

I am having also an error for User management: When I go to Site Settings -> Users and Permissions part -> FBA User Management, an unknown error is returned.

Next to that, when I add the Change Password and Password Recovery webpart to a page, I cannot check in or publish this page. Following error is thrown: This page contains content or formatting that is not valid. You can find more information in the affected sections.

It is the home page of a publishing site. Installation is a MOSS 2007.

Nov 2, 2007 at 9:09 AM
Hi,
Regarding to email, after Administrator approve the new user account, he/she will receive the confirmation email. But, I couldn't get the email sent out. Do I need to set any smtp server for the sharepoint portal? Could anyone give advice? I am pretty new in this sharepoint portal, and really appreciate the help.
Thank you so much.
Rgds,
Grace


wauwau wrote:
Hi Patrick
I managed to get the Admin Pages working - besides one small destination page error - it works fine.
I can send it to you (my email:werner@umayr.net)
did you manage to get the registration webpart working??? With emails correctly sent out to the registering user?
RGDS
WERNer

Patrik wrote:
Hi,

I am having also an error for User management: When I go to Site Settings -> Users and Permissions part -> FBA User Management, an unknown error is returned.

Next to that, when I add the Change Password and Password Recovery webpart to a page, I cannot check in or publish this page. Following error is thrown: This page contains content or formatting that is not valid. You can find more information in the affected sections.

It is the home page of a publishing site. Installation is a MOSS 2007.


Nov 2, 2007 at 6:54 PM
Hi, I am having the same problem as Grace83f: the email is never sent out. I do have the smtp service running on my sharepoint server and the intranet part of the site does send emails but only to the intranet users (in my case, my company's employees). Any lights please? I am also new here.
Nov 2, 2007 at 10:50 PM
Edited Nov 2, 2007 at 10:53 PM
DEVELOPERS BE WARNED:

If you are downloading the code be aware that there is a folder tilted "CKS.InternetExtranetEdition" that you will see in the root. This is not the folder you want. It seems to contain old code, and the ddf and manifest files are wrong and do not match the code. I spent a whole day sorting this out to find that the webparts this code built were completely different from the Beta,

The code you are looking for is in the folder titled "IEE". In there you will again find a folder titled "CKS.InternetExtranetEdition." This contains the latest code. Why there are two of these folders I don't know, but it sure cost me a lot of time figuring out what was wrong. Also the files are all zipped without the file dates being preserved, so you don't realize that the first folder is full of old stuff,

Even after you do complete a build, or install the beta 1, you'll find that the webparts are not complete enough to use, even in a rudimentary way. When a user creates a request they are not allowed to enter a password. Instead the system is supposed to assign one, but it never sends the email which contains the password, so they, or you, can never know what the password is. The password retrieval webpart returns an error, so you can't get it that way either.

If you would like to find a webpart that can do the job for now, while the developers work all of this out, you are better off searching out Paul Ballard's Forms Based Authentication Login webpart, which he has posted on the web. It at least lets the users enter a password, so that they will have it and can log-in once you give them a permission level in SharePoint People and Groups. You should be able to work out all of the rest of the new user steps with this component.

I was not able to get it to display the CAPTCHA images on either of our servers, and would really appreciate it if someone can make a suggestion about what could be wrong. Apparently some people's servers are displaying the images just fine. With the CodePlex version here I see the images sometimes and not others. Again two different W2K3 servers are unable to display all of the CAPTCHA pictures.

I hope this helps any of you planning on cracking open the code. Good luck, and please contact me if you get any of the issues fixed. We would like to use this right now.
Developer
Nov 3, 2007 at 4:58 PM
Hi,

The newest check-in has this old folder removed. Thank you for your feedback.



Hypercat wrote:
DEVELOPERS BE WARNED:

If you are downloading the code be aware that there is a folder tilted "CKS.InternetExtranetEdition" that you will see in the root. This is not the folder you want. It seems to contain old code, and the ddf and manifest files are wrong and do not match the code. I spent a whole day sorting this out to find that the webparts this code built were completely different from the Beta,
.

Nov 7, 2007 at 8:20 PM
Am running a Publisher MOSS with workflow . Win2003, SQL5, MOSS 2007 Standard. Some things don't work with the pre-beta FBA. Here goes. Hope the feedback helps.

Editing a page says cannot save but it is OK. Indicates all form fields in request login webpart need filling in. But can ignore, (Instructions say use FBA on a team site. Probably OK on a publishing site).

Main problem: when user requests a logon, only the "your membership request is rejected" email is sent. Like one of the posts earlier. The email has xstl tags (also as in the earlier post) but I guess that is easily sorted out. Have tried various password forms (Hashed, Encrypted, Clear), but no difference. Also message is only sent locally but this can probably be fixed.

Also, no mails sent when status changed from say "pending" to "approved".

I understand that in principle the only place one can see the user's password is in the email sent to the requesting user. Not sure if one can recover it from the database via the Visual Studio net application. So only the user can do a password reset.

The two lists that FBA installs are working OK. One has to be an admin in the top site to see the lists.

Meanwhile, am using the other FBA webpart on CodePlex. Works fine, but pretty basic.

Peter Boswell, FIDIC, Switzerland
Jan 4, 2008 at 2:53 PM
Edited Jan 4, 2008 at 3:30 PM
Some months ago I succeeded installing Zac's self-registrating feature (http://www.codeplex.com/MOSSFormsFeature) on WSS deployment using SQL Server membership and roles providers. I was pretty happy with this functionality. So later in December'07 when I started planning new MOSS deployment I was originally planning to use that feature again. But then I saw that Zac's original feature is discontinued and decided to try this one. So here's some of my experience.

First of all I tried to enable this feature on a site that had been created using Russian extranet publishing template. Despite original server locale (and CA website language) is English, this didn't succeed. I got 'Value does not fall within the expected range' as described above by wauwau.

So I deployed another site using English extranet publishing template and activated the features there. Now I got another error: 'The given key was not present in the dictionary' (also described above by RogerEriksen).

Well, then I did a complete uninstall of the feature including file deletion. Then rebooted, created a third site and deployed the feature there. Now admin management pages worked fine and I tried to place the user-oriented web-parts to pages. If I try to add any of three web-parts (except user login, which makes no error) and do a check-in I get 'This page contains content or formatting that is not valid' error described by Patrik. But I found a workaround here. The error message provides you with an option to 'exit without saving'. This actually quits the Edit mode but saves all the web-parts you've added in place. So I was able to do a check-in here and approve the page.

I successfully tested all the feature functionality except the mail-sending part. I didn't manage to set up email in this test environment yet. So I'll test it later. Now I'm going to set up a new site using MOSS LDAP Provider and test this feature with it.
Jan 4, 2008 at 3:12 PM
Edited Jan 4, 2008 at 3:14 PM
2 wauwau

you wrote:

1.11.2007 Partly exchanging the admin pages with the pages supplied in the other FBA management projekt resource (solution IDs are the same) resolves most of the admin pages errors even for my german LP installation.

Did you mean this project? http://www.codeplex.com/fba/Wiki/View.aspx?title=basic%20FBA%20user%20and%20role%20management&referringTitle=Home
Jan 4, 2008 at 4:27 PM
Funny, but googling for "This page contains content or formatting that is not valid. You can find more information in the affected sections" gives us just two results. The first one is this thread. And the second one is nice blog post, which points to possible cause of this error and suggests a solution. I'm not a dev, so I don't think I would be able to try it myself, but hope this help you: http://ari.provoke.co.nz/archive/2007/09/23/asp-net-validation-controls-prevent-publishing-pages-from-saving.aspx.
Jan 4, 2008 at 6:52 PM
Edited Jan 4, 2008 at 10:16 PM
Hi Paul,

I like the IEE:FBA, deployed it a couple of days ago. However, after downloading and installing the latest build I noticed that:
1. Automatically sign-me in seems not to work.
2. email sending to newly joined members doesn't work.
3. When in web.config questionanswer is set on true I get an error message while trying to create a new FBA user in the FBA user management in site settings
4. After joining an admin gets an email stating the request has been rejected. It should be "pending"
5. emails received contains html code
6. Some unexpected results when a user joins. After status change from pending to approved the user disappears. with the newly created username en requested password I wasn't able to login. I had to remove the user from the FBA database and create a new one via site settings FBA user Management. So it seems signing up gives some unexpected behavior.
7. When enabling all of the web part options like change password, join recover password, etc... de web part lay-out is pretty messed up :-)
8. When clicking on a specific role in role management in my opinion the related members of that role should be listed
9. I have to add users to the site collection admins... Otherwise they are not able to manage their own blogs (CKS:EBE based blogs)
I had no issues installing IEE:FBA, everything worked like a charm. Also all of the site settings entries are available, FBA Membership Request Management, FBA User Management, FBA Role Management

to be continued (currently testing)
Jan 4, 2008 at 11:04 PM
So here are my results testing MOSS LDAP Providers. First of all, Admin User Management page works fine. It just displays the users already in the Site collection. Errors come when I try to change some user's prosperty:

Application error when access /_layouts/FBA/Management/UserEdit.aspx, Error=The method or operation is not implemented.
at Microsoft.Office.Server.Security.LdapMembershipProvider.UpdateUser(MembershipUser user)
at System.Web.Security.MembershipUser.Update()
at CKS.FormsBasedAuthentication.UserEdit.OnSubmit(Object sender, EventArgs e)
at System.Web.UI.WebControls.Button.OnClick(EventArgs e)
at System.Web.UI.WebControls.Button.RaisePostBackEvent(String eventArgument)
at System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument)
at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)

Another two errors when I try to create a new user:

System.DirectoryServices.DirectoryServicesCOMException (0x80072035): The server is unwilling to process the request. (Exception from HRESULT: 0x80072035)
at System.DirectoryServices.DirectoryEntry.CommitChanges()
at Microsoft.Office.Server.Security.LdapMembershipProvider.CreateUser(String username, String password, String email, String passwordQuestion, String passwordAnswer, Boolean isApproved, Object providerUserKey, MembershipCreateStatus& status)

Application error when access /_layouts/FBA/Management/UserNew.aspx, Error=The Provider encountered an unknown error.
at System.Web.Security.Membership.CreateUser(String username, String password, String email)
at CKS.FormsBasedAuthentication.UserNew.OnSubmit(Object sender, EventArgs e)
at System.Web.UI.WebControls.Button.OnClick(EventArgs e)
at System.Web.UI.WebControls.Button.RaisePostBackEvent(String eventArgument)
at System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument)
at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)


In my earlier experiments I didn't test the 'Role Management' feature. That's because I was using ASP.NET Active Directory Membership Provider, which has no correspoinding Role Provider. Now I'm testing MOSS LDAP Provider, which includes one. So I enabled the Role Management feature and tried to follow the link. I got the following error:

Application error when access /_layouts/FBA/Management/RolesDisp.aspx, Error=The method or operation is not implemented.
at Microsoft.Office.Server.Security.LdapRoleProvider.GetAllRoles()
at CKS.FormsBasedAuthentication.FBARolesView.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.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)


So I see FBA feature set is not designed completely to work with MOSS LDAP Providers. I think I'll use ASP.NET AD Provider then. I don't need Roles too bad, and MOSS LDAP has no other advantages for me.
Feb 2, 2008 at 2:38 PM
I get an error message in the SharePoint log files (I'm dealing with the send mail issues in CKS:IEE :-) ). I compiled the latest sources (9327)

02/02/2008 16:21:41.95 CKS.FormsBasedAuthentication, V (0x076C) 0x1F4C InternetExtranetEdition System.Xml.Xsl.XslLoadException 0 Critical XSLT compile error. at System.Xml.Xsl.Xslt.XsltLoader.LoadStylesheet(XmlReader reader, Boolean include) at System.Xml.Xsl.Xslt.XsltLoader.Load(Compiler compiler, Object stylesheet, XmlResolver xmlResolver) at System.Xml.Xsl.Xslt.Compiler.Compile(Object stylesheet, XmlResolver xmlResolver, QilExpression& qil) at System.Xml.Xsl.XslCompiledTransform.LoadInternal(Object stylesheet, XsltSettings settings, XmlResolver stylesheetResolver) at System.Xml.Xsl.XslCompiledTransform.Load(String stylesheetUri) at CKS.FormsBasedAuthentication.Email.SendEmail(SPWeb web, String emailTo, String xsltTemplateFile, IDictionary xslValues)Inner Error: For security reasons DTD is prohibited in this XML document. To enable DTD processing set the ProhibitDtd property on XmlReaderSettings to 9fc22f6f-2f99-475e-8787-ddd9a724ce93
Developer
Feb 3, 2008 at 11:13 PM
Hi,

An xlst error may be caused by the fba config not having the xslt locations defined in (yoursite)/_layouts/FBA/Management/FBASiteConfiguration.aspx

also, even if you added the paths to the xslt the code is not saving them!

its missing this line in protected void BtnUpdateSiteFBAConfig_Click(object sender, EventArgs e)
{
.... snip
this.Web.Properties.Update();
}

I've yet to set the paths to the xslt in mine and I'm currently getting the same error. I've not debugged the code to see if its actually using the paths.
Developer
Feb 3, 2008 at 11:46 PM
<TemplateFile Location="LAYOUTS\FBA\MANAGEMENT\UsersImport.aspx" /> is missing in the manifest.xml for the 9390 sources resulting in a page missing when you click the FBA User Import "Import Forms Based Authentication Users"

added it in and redeployed an page works.
Developer
Feb 3, 2008 at 11:54 PM
Edited Feb 4, 2008 at 12:07 AM
FBAUsersView gives
Object reference not set to an instance of an object. at CKS.FormsBasedAuthentication.FBAUsersView.ExecuteSelect(DataSourceSelectArguments selectArgs)

if there are no users return in the "User Information List" query.

expected outcome, "The query did not return any users".

Anthony
Developer
Feb 4, 2008 at 12:43 AM
Just checking the XSLT template file locations code in source 9390

The code below ought to be the correct "propertyNames" as below otherwise serveral fields get their settings overwritten since every property must be unique. This will cause incorrect site properties and anything that uses them to get the wrong data and will manifest strange errors.

public struct MembershipReviewSiteXSLTEmail
{
public const string MEMBERSHIPAPPROVED = "ChangePasswordPage";
public const string MEMBERSHIPERROR = "MembershipError";
public const string MEMBERSHIPPENDING = "MembershipPending";
public const string MEMBERSHIPREJECTED = "MembershipRejected";
public const string PASSWORDRECOVERY = "PasswordRecovery";
}

Developer
Feb 4, 2008 at 11:04 AM
CKS.FormsBasedAuthentication.Email fails with "The remote server returned an error: (401) Unauthorized."

I'm stepping through the code from adding a new user in the "Site Membership Review List".
...
at System.Xml.Xsl.XslCompiledTransform.Load(String stylesheetUri)
at CKS.FormsBasedAuthentication.Email.SendEmail(SPWeb web, String emailTo, String xsltTemplateFile, IDictionary xslValues)

This is while it is retrieving the XSLT template from the URL. I know its permissions, but I'm not sure where I should have granted them to be able to access the XSLT file. The path is correct. I'm not sure how the Load function given a URI inside the Sharepoint space has pemissions or is known to SP, other than the app pool identity? I've ensured the current user has Full access to the site. (Might need to keep tinkering). Right now I am assuming I've not setup the executing user correctly.

Anthony

Feb 8, 2008 at 3:55 PM
Membership request is working fine :-) thanks for that.
When a new member gets approved an email will be send out. However, if requiresQuestionAndAnswer in the Web.Config is set to "false" an error appears in the SharePoint log files.
When requiresQuestionAndAnswer is set to "true" email Membership approved is send out.
ChangePassword is working fine
Recoverpassword is working fine (including Q&A)
Creating a new user from user management results in error: The password-answer supplied is invalid. There's no option of setting the password-answerd in user management
If a user is locked out an error message is displayed:
The user account has been locked out. at System.Web.Security.SqlMembershipProvider.ResetPassword(String username, String passwordAnswer)
at System.Web.Security.MembershipUser.ResetPassword(String passwordAnswer)
at System.Web.Security.MembershipUser.ResetPassword()
at CKS.FormsBasedAuthentication.UserEdit.OnResetPassword(Object sender, EventArgs e)
at System.Web.UI.WebControls.Button.OnClick(EventArgs e)
at System.Web.UI.WebControls.Button.RaisePostBackEvent(String eventArgument)
at System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument)
at System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument)
at System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData)
at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
Feb 13, 2008 at 5:51 AM
I am having an issue where I need a member provider only and no role provider. I've extended an existing web app to the extranet zone and set up web.config for both web apps.

All works fine - Using the visual studio web app, I can add users, and successfully authenticate into the extranet FBA site. I can also add these users to groups using a site administrator of the integrated auth site.

Below is the web.config snippet

<connectionStrings>
<remove name="AUTHSQLDB"/>
<add name="AUTHSQLDB" connectionString="Data Source=mydbserver;Initial Catalog=AUTHFARMDefault;Integrated Security=True" />
</connectionStrings>
<system.web>
<membership defaultProvider="FBA_Default">
<providers>
<remove name="FBA_Default" />
<add connectionStringName="AUTHSQLDB" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="false" applicationName="/" requiresUniqueEmail="false" passwordFormat="Hashed" maxInvalidPasswordAttempts="5" minRequiredPasswordLength="1" minRequiredNonalphanumericCharacters="0" passwordAttemptWindow="10" passwordStrengthRegularExpression="" name="FBA_Default" type="System.Web.Security.SqlMembershipProvider,System.Web,Version=2.0.0.0,Culture=neutral,PublicKeyToken=b03f5f7f11d50a3a" />
</providers>
</membership>

So as I said, this all works fine when doing straight out authentication.

When I try and access _layouts/FBA/Management/UsersDisp.aspx I receive the following error.

Object reference not set to an instance of an object. at CKS.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.DataBind()
at System.Web.UI.WebControls.GridView.DataBind()
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.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)

SQL server profile shows no connection attempt. I also used the FBA code that this is based on and the problem came down to this method.

users = Membership.GetAllUsers();

The error in this case was: "An error has occurred while establishing a connection to the server. When connecting to SQL Server 2005, this failure may be caused by the fact that under the default settings SQL Server does not allow remote connections. (provider: SQL Network Interfaces, error: 26 - Error Locating Server/Instance Specified) at System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection)
at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj...."

I've added the connect string and membership provider to the central admin/ssp/web app and I still get the error, yet I know it works since I can sign in as a FBA user and only access the stuff I have permission to. Ever seen this before? Its like the GetAllUsers method is not reading the membership provider info from web.config.

Any ideas? Does the lack of a role provider kill it?

Thanks

Paul
Developer
Feb 13, 2008 at 11:23 AM
I don't use the role provider so its not that. I have had this error and solved it but you'll hate me, I did so much I forget how I solved it. It was not a bug though, it was a config error on my part, probably permissions. Check your App Pool user and its permissions in the database. If your management site is running as a different user add it to the db permissions / check it. and ensure your Admin site has been told about the provider I think.

Anthony
Feb 13, 2008 at 5:01 PM
Edit
Reply

Hello all and let me start by saying thank you to all who are participating in this.
I do have a question though.

I have the latest source code "9518".

I can: login, change password and retreive password
Also when the Forms Based Authentication Site Membership Review List feature is ACTIVATED, I can sign up using the Membership Request Web Part.

I can Not sign up using the Membership Request Web Part when the Forms Based Authentication Site Membership Review List feature is DEACTIVATED.
I get the error "The parameter name cannot be empty or bigger than 255 characters. "

I thought I read that if the Forms Based Authentication Site Membership Review List feature is DEACTIVATED, then the membership request webpart would just bypass the review list and approval process and email the temp password to user so they can log in.

Please let me know if I have misunderstood or have not configured something properly. Thank You

Developer
Feb 13, 2008 at 9:14 PM
Hi,

I think I we got that far before we dropped it in favour of the new MS Beta of the Extranet kit. (ECTS I think). BUT we aren't going to use the ECTS because its not quite right for our scenario, so I think we are back with this one and before we plow back in I'm sure we got to the same point. We understood it processed the users as you suggested... I seem to remember being on the trail stepping through the "Email the user" code when I stopped. (It uses SP Email and its own .NET mail with server SMTP settings direct. I'll let you know when I figure it out but not for another week or two :(

Anthony
Feb 14, 2008 at 4:37 AM
I posted this here to: http://www.codeplex.com/CKS/WorkItem/View.aspx?WorkItemId=5410

When I attempt to activate, click on Active on the site features page, CKS:EBE I get the deactivation page after a few moments:

You are about to deactivate the CKS:EBE Extensions feature.

If you deactivate this feature, any user data or customizations associated with this feature might be lost. In addition, any active features that depend on this feature might fail to function.
Deactivate this feature


In the application log on the server I have these two errors:
Source: ASP.NET 2.0.50727.0
ID: 1334
An unhandled exception occurred and the process was terminated.

Application ID: /LM/W3SVC/1860821340/Root

Process ID: 7408

Exception: Microsoft.SharePoint.SPException

Message: Attempted to make calls on more than one thread in single threaded mode. (Exception from HRESULT: 0x80010102 (RPCEATTEMPTED_MULTITHREAD))

StackTrace: at Microsoft.SharePoint.Library.SPRequest.SetVar(String bstrUrl, String bstrName, String bstrValue)
at Microsoft.SharePoint.SPListItemCollection.EnsureListItemsData()
at Microsoft.SharePoint.SPListItemCollection.get_Item(Int32 iIndex)
at Microsoft.SharePoint.SPListItem.EnsureItemIsValid()
at Microsoft.SharePoint.SPListItem.GetValue(SPField fld, Int32 columnNumber, Boolean bRaw)
at Microsoft.SharePoint.SPListItem.GetValue(String strName, Boolean bThrowException)
at Microsoft.SharePoint.SPListItem.GetValue(String strName)
at Microsoft.SharePoint.SPListItem.get_Item(String fieldName)
at Microsoft.SharePoint.SPListItem.get_Level()
at CKS.EBE.Linkbacks.LinkbackPinger.SendLinkbackPingsInternal(Object postSPListItem)
at System.Threading.ThreadHelper.ThreadStart_Context(Object state)
at System.Threading.ExecutionContext.runTryCode(Object userData)
at System.Runtime.CompilerServices.RuntimeHelpers.ExecuteCodeWithGuaranteedCleanup(TryCode code, CleanupCode backoutCode, Object userData)
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Threading.ThreadHelper.ThreadStart(Object obj)

InnerException: System.Runtime.InteropServices.COMException

Message: Attempted to make calls on more than one thread in single threaded mode. (Exception from HRESULT: 0x80010102 (RPCEATTEMPTED_MULTITHREAD))

StackTrace: at Microsoft.SharePoint.Library.SPRequestInternalClass.SetVar(String bstrUrl, String bstrName, String bstrValue)
at Microsoft.SharePoint.Library.SPRequest.SetVar(String bstrUrl, String bstrName, String bstrValue)

-------------------------------------------------------------------------
Source: .NET Runtime 2.0 Error Reporting
ID: 5000
EventType clr20r3, P1 w3wp.exe, P2 6.0.3790.3959, P3 45d6968e, P4 microsoft.sharepoint, P5 12.0.0.0, P6 473bb903, P7 8a, P8 25, P9 microsoft.sharepoint.spexception, P10 NIL.


If I try to goto the blog page I just get a "File Not Found." error page.

If I deactive CKS:EBE the standard blog page works again.
Feb 24, 2008 at 10:52 PM
Edited Feb 24, 2008 at 11:37 PM
This project looks awesome, but I'm having similar problems with the current release as described here, namely: no email being sent and the password recovery web part throws an 'unexpected error'. I don't see any errors being logged.

Edit: The unexpected error is occurring somewhere after the password is actually reset.

Also, the user registration web part does not have prompts to enter a question and answer. Not that I need them; I'm just wondering if an old copy of the code got checked in.

Thanks,
-Ryan


Hypercat wrote:
DEVELOPERS BE WARNED:

If you are downloading the code be aware that there is a folder tilted "CKS.InternetExtranetEdition" that you will see in the root. This is not the folder you want. It seems to contain old code, and the ddf and manifest files are wrong and do not match the code. I spent a whole day sorting this out to find that the webparts this code built were completely different from the Beta,

The code you are looking for is in the folder titled "IEE". In there you will again find a folder titled "CKS.InternetExtranetEdition." This contains the latest code. Why there are two of these folders I don't know, but it sure cost me a lot of time figuring out what was wrong. Also the files are all zipped without the file dates being preserved, so you don't realize that the first folder is full of old stuff,

When a user creates a request they are not allowed to enter a password. Instead the system is supposed to assign one, but it never sends the email which contains the password, so they, or you, can never know what the password is. The password retrieval webpart returns an error, so you can't get it that way either.

Developer
Feb 28, 2008 at 12:27 PM
Hi, Love IEE so far

In Central Admin
Manage Connection Strings does not work. (EditConnections.aspx)
I get null object error, tracing code "connections" is null and needs filling before using. Then I it attempted to apply changes to the config and gave some native code is sitting on top of the stack error or similar so I've given up and moved onto setup up and using the rest of the FBA.

I did refatcor out the connections to :-

private void InitConnections()
{
try
{
SPWebApplication web = Selector.CurrentItem;
connections = new Dictionary<string, ConnectionStringSettings>();
string path = web.GetResponseUri(SPUrlZone.Default).AbsolutePath;
System.Configuration.Configuration config = System.Web.Configuration.WebConfigurationManager.OpenWebConfiguration(path);
foreach (ConnectionStringSettings settings in config.ConnectionStrings.ConnectionStrings)
{
connections.Add(settings.Name, settings);
}

}
catch (Exception ex)
{
TraceProvider.WriteTrace(0, TraceProvider.TraceSeverity.CriticalEvent, Guid.NewGuid(), Assembly.GetExecutingAssembly().FullName, "CKS.FormsBasedAuthentication", "EditConnections", ex.Message);
}
finally
{
Web.Dispose();
}
}

PS. I notice you don't dispose of web objects in your code, this is bad practice isn't it? (Unless they are safely disposed of by something I don't know!)

Anthony
Developer
Feb 28, 2008 at 3:39 PM
Edited Feb 28, 2008 at 3:43 PM
Hi,

FBAUsersView.cs throws an error if no FBA users are in the database instead of returning a message or empty table. Currently the code assumes there will always be at least 1 user. Obviously this is not a critical error but it will waste developers time becuase the error is "Unknown Error", anywhere where this is used.

// run query to get table of users
DataTable users = null;
try
{
users = list.GetItems(query).GetDataTable();
}
catch (Exception ex)
{
Utils.LogError(ex);
return null;
}
users.Columns.Add("Active"); <---------- null here!

Perhaps the users.Columns.Add was meant to be in the try catch but thats not handling the error properly :)

Anthony
Developer
Feb 28, 2008 at 4:44 PM
Edited Feb 28, 2008 at 4:52 PM
Hi,

The EditMembershipProviders is excellent but has errors.


in LoadProviderData.cs
"Require A Verification Question and Answer?" is not handled
and the code does initialise radio box correctly for the password format.

I guess I ought to join the project and tidy these up but I have a screaming deadline to meet. I'm hoping someone picks it up and throws in the changes.

Attention to this area will fix several odd behaviours people are reporting.

In the mean time I'm debugging and fixing the code.

Anthony

Sep 16, 2008 at 9:57 AM
Hi ,
thanks for this solution,

My environment is  wss3.0
When I installed FBAManagement on my WSS,I have these problems :

1. in the header of Registration webpart , this text:  "Sign up for your new account" is always displayed in addition to title/header-text and instruction text,And I cant remove it.

2. on site membership review list - when I change status from pending to approved by editing the item,the user doesn't receive any mail,which contains password.

3.Can users be added to a default sharepoint group after being approved?
Developer
Sep 16, 2008 at 1:15 PM
Hi Nadi,

Firstly ensure you have the very latest changeset. Which one are you building from?

1) the header "Sign up for your new account" is the WizardStep title, its not yet configured from the FBA settings but if you have the code you can set it to nothing or whatever text you like.
I just looked for where its set and I can't find it. It will be fixed in an upcoming changeset.

3), I thought this was the correct behaviour, if you fix item 2, it will probably fix this.

Anthony
Feb 13, 2009 at 7:36 PM
Edited Feb 13, 2009 at 7:46 PM

I've got the same error as pculmsee. After having moved the site and successfully redeployed the CKS.FBA solution to it, if try and access _layouts/FBA/Management/UsersDisp.aspx it throws the below error. Used to work fine in the prior location on the LAN. Same database and connection string as before, though, and I can successfully  log onto the FBA site with a membership provider username, so it's weird; the provider seems to be all correct. All the other CKS.FBA tools work fine, as well. Also, the app pool account for the site has dbo permissions on the membership DB.

Error:

Object reference not set to an instance of an object. at CKS.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.DataBind()
at System.Web.UI.WebControls.GridView.DataBind()
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.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)

Thanks for any tips on this!

Developer
Feb 13, 2009 at 8:39 PM
Are you using roles?

Regards,
Mike Sharp
Feb 13, 2009 at 8:43 PM

roles are activated and the role provider’s defined in the web.config; but I’m not actually using them for my permissioning; using SP groups for that

thanks!

From: rdcpro [mailto:notifications@codeplex.com]
Sent: Friday, February 13, 2009 1:39 PM
To: jackogreen@hotmail.com
Subject: Re: CKS:IEE Pre-Beta Defect Reports [CKS:16363]

From: rdcpro

Are you using roles?

Regards,
Mike Sharp

Read the full discussion online.

To add a post to this discussion, reply to this email (CKS@discussions.codeplex.com)

To start a new discussion for this project, email CKS@discussions.codeplex.com

You are receiving this email because you subscribed to this discussion on CodePlex. You can unsubscribe on codePlex.com.

Please note: Images and attachments will be removed from emails. Any posts to this discussion will also be available online at codeplex.com

Developer
Feb 13, 2009 at 11:07 PM
Bummer, there goes a pefectly good theory. 

Which version of the FBA are you using?

Regards,
Mike Sharp