Skip to content

Commit 01ea129

Browse files
Add try catches around membership provider calls
Fixes #39 by wrapping all calls to membership providers in try / catch statements
1 parent 1460273 commit 01ea129

File tree

1 file changed

+32
-14
lines changed

1 file changed

+32
-14
lines changed
Lines changed: 32 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
using System.Collections.Generic;
1+
using System.Collections.Generic;
22
using System.Security.Claims;
33
using System.Web.Security;
44
using Our.Umbraco.AuthU.Interfaces;
@@ -13,30 +13,48 @@ public abstract class MembershipProviderOAuthUserService : IOAuthUserService
1313

1414
protected MembershipProvider MemberProvider => Membership.Providers[this.MembershipProviderName];
1515

16-
public virtual bool ValidateUser(string username)
16+
public bool ValidateUser(string username)
1717
{
18-
var user = this.MemberProvider.GetUser(username, false);
19-
return user != null && user.IsApproved && !user.IsLockedOut;
18+
try
19+
{
20+
var user = this.MemberProvider.GetUser(username, false);
21+
return user != null && user.IsApproved && !user.IsLockedOut;
22+
}
23+
catch
24+
{
25+
return false;
26+
}
2027
}
2128

22-
public virtual bool ValidateUser(string username, string password)
29+
public bool ValidateUser(string username, string password)
2330
{
24-
return this.MemberProvider.ValidateUser(username, password);
31+
try
32+
{
33+
return this.MemberProvider.ValidateUser(username, password);
34+
}
35+
catch
36+
{
37+
return false;
38+
}
2539
}
2640

27-
public virtual IEnumerable<Claim> GetUserClaims(string username)
41+
public IEnumerable<Claim> GetUserClaims(string username)
2842
{
29-
var member = this.MemberProvider.GetUser(username, true);
30-
if (member != null)
43+
try
3144
{
32-
yield return new Claim(ClaimTypes.NameIdentifier, member.ProviderUserKey.ToString());
33-
34-
var roles = Roles.GetRolesForUser(member.UserName);
35-
foreach (var role in roles)
45+
var member = this.MemberProvider.GetUser(username, true);
46+
if (member != null)
3647
{
37-
yield return new Claim(ClaimTypes.Role, role);
48+
yield return new Claim(ClaimTypes.NameIdentifier, member.ProviderUserKey.ToString());
49+
50+
var roles = Roles.GetRolesForUser(member.UserName);
51+
foreach (var role in roles)
52+
{
53+
yield return new Claim(ClaimTypes.Role, role);
54+
}
3855
}
3956
}
57+
catch {}
4058
}
4159
}
4260
}

0 commit comments

Comments
 (0)