summaryrefslogtreecommitdiffstats
path: root/src/OpenID/OpenIdProviderMvc/Code/AccountMembershipService.cs
diff options
context:
space:
mode:
Diffstat (limited to 'src/OpenID/OpenIdProviderMvc/Code/AccountMembershipService.cs')
-rw-r--r--src/OpenID/OpenIdProviderMvc/Code/AccountMembershipService.cs40
1 files changed, 40 insertions, 0 deletions
diff --git a/src/OpenID/OpenIdProviderMvc/Code/AccountMembershipService.cs b/src/OpenID/OpenIdProviderMvc/Code/AccountMembershipService.cs
new file mode 100644
index 0000000..1a5dfd4
--- /dev/null
+++ b/src/OpenID/OpenIdProviderMvc/Code/AccountMembershipService.cs
@@ -0,0 +1,40 @@
+namespace OpenIdProviderMvc.Code {
+ using System;
+ using System.Collections.Generic;
+ using System.Linq;
+ using System.Web;
+ using System.Web.Security;
+
+ public class AccountMembershipService : IMembershipService {
+ private MembershipProvider provider;
+
+ public AccountMembershipService()
+ : this(null) {
+ }
+
+ public AccountMembershipService(MembershipProvider provider) {
+ this.provider = provider ?? Membership.Provider;
+ }
+
+ public int MinPasswordLength {
+ get {
+ return this.provider.MinRequiredPasswordLength;
+ }
+ }
+
+ public bool ValidateUser(string userName, string password) {
+ return this.provider.ValidateUser(userName, password);
+ }
+
+ public MembershipCreateStatus CreateUser(string userName, string password, string email) {
+ MembershipCreateStatus status;
+ this.provider.CreateUser(userName, password, email, null, null, true, null, out status);
+ return status;
+ }
+
+ public bool ChangePassword(string userName, string oldPassword, string newPassword) {
+ MembershipUser currentUser = this.provider.GetUser(userName, true /* userIsOnline */);
+ return currentUser.ChangePassword(oldPassword, newPassword);
+ }
+ }
+}