Makes provider user key type for new membership provider configurable, by default it is int

This commit is contained in:
Shannon
2014-12-15 20:44:00 +11:00
parent 8e4e575276
commit 2936ff0bf9
6 changed files with 18 additions and 73 deletions

View File

@@ -42,6 +42,7 @@ namespace Umbraco.Web.Security.Providers
private string _defaultMemberTypeAlias = "Member";
private volatile bool _hasDefaultMember = false;
private static readonly object Locker = new object();
private bool _providerKeyAsGuid = false;
public override string ProviderName
{
@@ -58,7 +59,7 @@ namespace Umbraco.Web.Security.Providers
protected override MembershipUser ConvertToMembershipUser(IMember entity)
{
return entity.AsConcreteMembershipUser(Name);
return entity.AsConcreteMembershipUser(Name, _providerKeyAsGuid);
}
public string LockPropertyTypeAlias { get; private set; }
@@ -85,6 +86,15 @@ namespace Umbraco.Web.Security.Providers
}
_hasDefaultMember = true;
}
//devs can configure the provider user key to be a guid if they want, by default it is int
if (config["providerKeyType"] != null)
{
if (config["providerKeyType"] == "guid")
{
_providerKeyAsGuid = true;
}
}
}
public override string DefaultMemberTypeAlias

View File

@@ -47,7 +47,7 @@ namespace Umbraco.Web.Security.Providers
protected override MembershipUser ConvertToMembershipUser(IUser entity)
{
//the provider user key is always the int id
return entity.AsConcreteMembershipUser(Name);
return entity.AsConcreteMembershipUser(Name, true);
}
public override void Initialize(string name, System.Collections.Specialized.NameValueCollection config)