[Mono-bugs] [Bug 78329][Wis] New - [2.0] Membership/Role
multi-backend provider
bugzilla-daemon at bugzilla.ximian.com
bugzilla-daemon at bugzilla.ximian.com
Sun May 7 20:20:43 EDT 2006
Please do not reply to this email- if you want to comment on the bug, go to the
URL shown below and enter your comments there.
Changed by grendello at gmail.com.
http://bugzilla.ximian.com/show_bug.cgi?id=78329
--- shadow/78329 2006-05-07 20:20:43.000000000 -0400
+++ shadow/78329.tmp.15075 2006-05-07 20:20:43.000000000 -0400
@@ -0,0 +1,55 @@
+Bug#: 78329
+Product: Mono: Class Libraries
+Version: 1.1
+OS:
+OS Details:
+Status: NEW
+Resolution:
+Severity:
+Priority: Wishlist
+Component: Sys.Web
+AssignedTo: gonzalo at ximian.com
+ReportedBy: grendello at gmail.com
+QAContact: mono-bugs at ximian.com
+TargetMilestone: ---
+URL:
+Cc:
+Summary: [2.0] Membership/Role multi-backend provider
+
+Some time ago I had the need to implement an ASP.NET 2.0 Membership/Role
+provider that would work with XML files and after looking around the net, I
+found out that there was nothing that would fit my needs. I started coding
+what was needed and after a while I realized that the code could be
+converted to provide an open architecture for various membership/role
+providers, not just XML-backed ones. The result of the work can be found at
+[1] and I would like to ask for the opinion of people on this mailing list
+and also to propose its inclusion in Mono, if it passes the rigorous review
+of the developers. I do realize that there is some resistance against
+including new code that's not .Net compatible (as far as API compatibility
+goes) in Mono, but let me present a few points that might speak in favor of
+my proposal:
+
+ - The release notes for Mono 1.1.15 mention that soon new Membership/Role
+ providers will be available. Including the code would fill the gap
+ almost immediately
+ - The code is constructed in the way that minimizes code duplication.
+ There is only one "frontend" provider class which supports multiple
+ storage backends. The backends need to derive from an abstract class and
+ implement its abstract members.
+ - The frontend takes care of thread safety - backend is called with a
+ mutex held. The mutex is application-wide and is shared accross all the
+ backend instances (at most 2 of them - one owned by the Membership and
+ the other by the Role provider). Therefore developers of the backends
+ are freed from thinking about locking issues.
+
+ I think that the code, after review and all the necessary bug fixes, would
+serve well the Mono community making it easier to develop ASP.NET 2.0
+applications.
+ The tarball referenced below also includes a random password generator
+class which was designed with the Membership GeneratePassword method in
+mind. The PasswordGen class implements the algorithm found in the pwgen
+program by Theodore T'so. Only the phoneme password generator is implemented
+at the time, but the fully random one would probably generate passwords to
+hard to remember by most human beings, so I left it out for the moment.
+ Please let me know about your opinions, suggestions, constructive critics
+regarding the code and I do hope it will be accepted in Mono :)
More information about the mono-bugs
mailing list