FBA Email Issue/Question

Sep 26, 2008 at 10:57 AM
Seems I posted this question in the wrong discussion so here I go again.

I grabbed the latest CKS build and compiled the FBA solution (after a bit of messing about!) after a couple of false starts I got a compiled version which I successfully deployed on my test site.

I have my test site set up with AD authentication for the internal users who alter content assign users to groups etc and then the extended site using FBA for external users. This all works ok so far. HOWEVER.
 
When I add a new FBA user (logged in via AD as I am internal) and then add them to one of the site groups the email notification has the internal site URL in it! So when they click on the URL it takes them to a non existant external site :/

I though I could get around this by logging on using a FBA user but then I cannot create a user as the FBA admin forms do not appear in the site settings. I can however add an existing user to a site group and then they get the correct URL.

Is there any way I can get around this issue ?

(ideal solution would be if i could access the same url for both AD and Forms providers but I dont think thats possible)

Thanks for any guidance.
Artanor
Developer
Sep 26, 2008 at 11:02 AM
Hi,

That sounds like something I can fix, you might have to wait whilst I setup my new Dev environment to replicate it. (I'm doing that to help get a new release out)

Anthony
Developer
Sep 26, 2008 at 4:04 PM
Hi Artanor,

If you add your FBA user to the site collection administrators, you'll have access to the FBA forms for the extended site.  Site Collection admin is the required permission to update the User Information List.  You'll need to use the login you used to set up the FBA site, which should have site collection admin permissions.

It might be possible, with a code change, to provide the same URL for both, but remember the users for AD and Forms are separate users (even though they're the same person).  The URL of the location the user is sent to is set in the membership request object with:

request.SiteName = web.Title;
request.SiteURL = web.Url;

You'd have to add the desired target site as another configuration parameter, but these are stored in the web properties bag, not the web application.  You'd have to find a place to persist this information, or else persist it to both webs.  For me, I find it best to create the user in the web site that you want them to have access to.  I try not to grant site collection admin status to the AD site, so that people don't manage users there.  Not the best scenario, but probably the best for now. 

Regards,
Mike Sharp