brockallen / BrockAllen.MembershipReboot

MembershipReboot is a user identity management and authentication library.
Other
742 stars 238 forks source link

Support for Account approval proccess #632

Open christianacca opened 8 years ago

christianacca commented 8 years ago

Hi Brok, I've been trying to add an account approval process. I think MR needs an enhancement that I'm about to add if OK with you.

Problem

There's no way to distinguish between when an account is locked or that the account is unapproved.

ie UserAccount.IsLoginAllowed is being overloaded with multiple meanings.

Scenario

Just to be clear here's the use case:

christianacca commented 8 years ago

MembershipRebootConfiguration.AllowLoginAfterAccountCreation is probably the closest thing in MR that currently supports an approval process.

RequireAccountApproval that I propose above would be used instead to prevent the login until the account is approved.

AllowLoginAfterAccountCreation would need to obsoleted to allow a period of backward compatibility.

christianacca commented 8 years ago

I would also be tempted to rename IsLoginAllowed -> IsLocked.

I won't of course as it would be a big breaking change. Instead I'll add a summary xml comment to the property:

/// <summary>
/// Returns true when the account is locked
/// </summary>
/// <remarks>
/// An locked account will not be able to sign in
/// </remarks>
public virtual bool IsLoginAllowed { get; protected internal set; }
christianacca commented 8 years ago

I've submitted the PR: https://github.com/brockallen/BrockAllen.MembershipReboot/pull/634