Wiki Link: [discussion:53465]
ECTS: WebPart error  


Apr 16 at 8:04 AM
Hi,

as described in this post: http://social.technet.microsoft.com/Forums/en-US/sharepointcollaboration/thread/a047b575-7140-48e0-ae1f-14c5d116d8dd I'm having problems with the external users management web part because the password expiration policy is set to 0. I don't have access, nor am I allowed to alter this policy setting since it's company wide. As I understand, there's no other way of configuring this setting apart from altering the global active directory policy (since the server is a domain member). If that's the case; how am I going to make this work? Could someone perhaps send me a version of the webpart which doesn't crash on this bug?

Kind regards,

Jasper

Apr 29 at 1:29 PM
Great support guys... posts here and on MSDN and not a single reply. Does really no one knows how to fix this?

Developer
Apr 29 at 8:17 PM
A quick google search tells me that ADAM doesn't support it's own policies; it's not implemented that way.  So the only way to override the domain password policy is to disable it altogether in ADAM with ADAMDisablePasswordPolicies=1

I don't know if that will help you in this situation, though, because I think the exception will still be thrown. 

I think the reason you're not seeing a lot of folks lining up to answer your questions on the ECTS is that it wasn't written by any of the volunteer developers in the CKS, it was developed by the SA-SC team, and the source code turned turned over to the public via the CKS on CodePlex. 

You could, of course, open the source code and fix the issue.  I'm not familiar with the ECTS source, as I've been mostly involved with the CKS:FBA solution, but a brief look at it (via the Source Code tab on this page) tells me the bug is in the PasswordLifetime() method:

if (result.Properties.Contains(val))
{
          // bugbug: math error when no domain PWD policy
          ticks = Math.Abs((long)result.Properties[val][0] );

}


Someone even commented it. 

I suppose if the PasswordLifetime method returned a very large TimeSpan in that case, it would be "good enough".  You could even wrap the math in a try-catch block and set ticks equal to some really large (but supported) number in the catch block. Like Int64.MaxValue.  Not an ideal solution, but probably good enough for now.


Regards,
Mike Sharp








Developer
Apr 29 at 8:23 PM
I Forgot to tell you where that method is...

ECTS/Common/Common/UMClass.cs

Regards,
Mike Sharp

May 12 at 11:12 AM

Hi Mike,

thanks for your comments and sorry for the frustration on my part ;) These tips are very helpfull, I'll check if I can manage to edit the sourcecode to fix this problem. As for the support; it's a it odd no one here has worked on these sources, aren't they in the wrong place then?

Kind regards,

Jasper


May 12 at 2:17 PM

Mike,

perhaps you could assist me once more? I've used turtoiseSVN to download the sources and adapted the code. I've surrounded the math with a try/catch as u suggested and recompiled to check whether this actually works. The resulting DLL has a different keytoken from the ones in the ECTS toolkit. If I replace the old one with my newly compiled one, the whole thing crashes because the tokens don't match. It's compiling against the snk file that came with the sourcecode, so how can the key be wrong?

Any idea on how to fix this?

Cheers, Jasper


May 22 at 10:16 PM

Anyone? I would really like to get this working (and perhaps help others with the same problem)!


Jun 15 at 9:19 PM

Sorry for kicking it up once more, but I still haven't got a proper solution to get the publickeytoken to match the ones in the downloaded installer.


Jul 22 at 8:49 PM

I just checked out the properties on the assemblies assocated with the ECTS and it gave me this for the publickeytoken 31bf3856ad364e35


Updating...
© 2006-2009 Microsoft | About CodePlex | Privacy Statement | Terms of Use | Code of Conduct | Advertise With Us | Version 2009.10.27.15987