diff --git a/src/Umbraco.Core/Models/Identity/BackOfficeIdentityUser.cs b/src/Umbraco.Core/Models/Identity/BackOfficeIdentityUser.cs
index 1618150851..03631bda05 100644
--- a/src/Umbraco.Core/Models/Identity/BackOfficeIdentityUser.cs
+++ b/src/Umbraco.Core/Models/Identity/BackOfficeIdentityUser.cs
@@ -37,8 +37,6 @@ namespace Umbraco.Core.Models.Identity
public string[] Groups { get; set; }
public string Culture { get; set; }
- public string UserTypeAlias { get; set; }
-
///
/// Lockout is always enabled
///
diff --git a/src/Umbraco.Core/Models/Identity/IdentityModelMappings.cs b/src/Umbraco.Core/Models/Identity/IdentityModelMappings.cs
index 74fd602a7e..0bc0351d8d 100644
--- a/src/Umbraco.Core/Models/Identity/IdentityModelMappings.cs
+++ b/src/Umbraco.Core/Models/Identity/IdentityModelMappings.cs
@@ -22,7 +22,6 @@ namespace Umbraco.Core.Models.Identity
.ForMember(user => user.Name, expression => expression.MapFrom(user => user.Name))
.ForMember(user => user.StartMediaId, expression => expression.MapFrom(user => user.StartMediaId))
.ForMember(user => user.StartContentId, expression => expression.MapFrom(user => user.StartContentId))
- .ForMember(user => user.UserTypeAlias, expression => expression.MapFrom(user => user.UserType.Alias))
.ForMember(user => user.AccessFailedCount, expression => expression.MapFrom(user => user.FailedPasswordAttempts))
.ForMember(user => user.Groups, expression => expression.MapFrom(user => user.Groups.Select(x => x.Name).ToArray()))
.ForMember(user => user.AllowedSections, expression => expression.MapFrom(user => user.AllowedSections.ToArray()));
@@ -31,9 +30,8 @@ namespace Umbraco.Core.Models.Identity
.ConstructUsing((BackOfficeIdentityUser user) => new UserData(Guid.NewGuid().ToString("N"))) //this is the 'session id'
.ForMember(detail => detail.Id, opt => opt.MapFrom(user => user.Id))
.ForMember(detail => detail.AllowedApplications, opt => opt.MapFrom(user => user.AllowedSections))
- .ForMember(detail => detail.Groups, opt => opt.MapFrom(user => user.Groups))
+ .ForMember(detail => detail.Roles, opt => opt.MapFrom(user => user.Groups))
.ForMember(detail => detail.RealName, opt => opt.MapFrom(user => user.Name))
- .ForMember(detail => detail.Roles, opt => opt.MapFrom(user => new[] { user.UserTypeAlias }))
.ForMember(detail => detail.StartContentNode, opt => opt.MapFrom(user => user.StartContentId))
.ForMember(detail => detail.StartMediaNode, opt => opt.MapFrom(user => user.StartMediaId))
.ForMember(detail => detail.Username, opt => opt.MapFrom(user => user.UserName))
diff --git a/src/Umbraco.Core/Models/Membership/IUser.cs b/src/Umbraco.Core/Models/Membership/IUser.cs
index a3cea0b232..1fb82116f9 100644
--- a/src/Umbraco.Core/Models/Membership/IUser.cs
+++ b/src/Umbraco.Core/Models/Membership/IUser.cs
@@ -15,11 +15,6 @@ namespace Umbraco.Core.Models.Membership
int StartMediaId { get; set; }
string Language { get; set; }
- ///
- /// Gets/sets the user type for the user
- ///
- IUserType UserType { get; set; }
-
///
/// Gets the groups that user is part of
///
diff --git a/src/Umbraco.Core/Models/Membership/IUserGroup.cs b/src/Umbraco.Core/Models/Membership/IUserGroup.cs
index fc1af97912..8e9f862910 100644
--- a/src/Umbraco.Core/Models/Membership/IUserGroup.cs
+++ b/src/Umbraco.Core/Models/Membership/IUserGroup.cs
@@ -1,9 +1,28 @@
using System.Collections.Generic;
+using Umbraco.Core.Models.EntityBase;
namespace Umbraco.Core.Models.Membership
{
- public interface IUserGroup : IUserTypeGroupBase
+ public interface IUserGroup : IAggregateRoot
{
+ ///
+ /// The alias
+ ///
+ string Alias { get; set; }
+
+ ///
+ /// The name
+ ///
+ string Name { get; set; }
+
+ ///
+ /// The set of default permissions
+ ///
+ ///
+ /// By default each permission is simply a single char but we've made this an enumerable{string} to support a more flexible permissions structure in the future.
+ ///
+ IEnumerable Permissions { get; set; }
+
IEnumerable AllowedSections { get; }
void RemoveAllowedSection(string sectionAlias);
diff --git a/src/Umbraco.Core/Models/Membership/IUserType.cs b/src/Umbraco.Core/Models/Membership/IUserType.cs
deleted file mode 100644
index ccfdc729f5..0000000000
--- a/src/Umbraco.Core/Models/Membership/IUserType.cs
+++ /dev/null
@@ -1,6 +0,0 @@
-namespace Umbraco.Core.Models.Membership
-{
- public interface IUserType : IUserTypeGroupBase
- {
- }
-}
\ No newline at end of file
diff --git a/src/Umbraco.Core/Models/Membership/IUserTypeGroupBase.cs b/src/Umbraco.Core/Models/Membership/IUserTypeGroupBase.cs
deleted file mode 100644
index 06769b1866..0000000000
--- a/src/Umbraco.Core/Models/Membership/IUserTypeGroupBase.cs
+++ /dev/null
@@ -1,26 +0,0 @@
-using System.Collections.Generic;
-using Umbraco.Core.Models.EntityBase;
-
-namespace Umbraco.Core.Models.Membership
-{
- public interface IUserTypeGroupBase : IAggregateRoot
- {
- ///
- /// The alias
- ///
- string Alias { get; set; }
-
- ///
- /// The name
- ///
- string Name { get; set; }
-
- ///
- /// The set of default permissions
- ///
- ///
- /// By default each permission is simply a single char but we've made this an enumerable{string} to support a more flexible permissions structure in the future.
- ///
- IEnumerable Permissions { get; set; }
- }
-}
\ No newline at end of file
diff --git a/src/Umbraco.Core/Models/Membership/UmbracoMembershipUser.cs b/src/Umbraco.Core/Models/Membership/UmbracoMembershipUser.cs
index ada2a7102d..0ada5c3d0e 100644
--- a/src/Umbraco.Core/Models/Membership/UmbracoMembershipUser.cs
+++ b/src/Umbraco.Core/Models/Membership/UmbracoMembershipUser.cs
@@ -34,12 +34,11 @@ namespace Umbraco.Core.Models.Membership
/// The last lockout date.
/// The full name.
/// The language.
- /// Type of the user.
///
public UmbracoMembershipUser(string providerName, string name, object providerUserKey, string email,
string passwordQuestion, string comment, bool isApproved, bool isLockedOut,
DateTime creationDate, DateTime lastLoginDate, DateTime lastActivityDate, DateTime lastPasswordChangedDate,
- DateTime lastLockoutDate, string fullName, string language, IUserType userType, T user)
+ DateTime lastLockoutDate, string fullName, string language, T user)
: base( providerName, name, providerUserKey, email, passwordQuestion, comment, isApproved, isLockedOut,
creationDate, lastLoginDate, lastActivityDate, lastPasswordChangedDate, lastLockoutDate)
{
diff --git a/src/Umbraco.Core/Models/Membership/User.cs b/src/Umbraco.Core/Models/Membership/User.cs
index 41bcb5ee80..d6d02df8f3 100644
--- a/src/Umbraco.Core/Models/Membership/User.cs
+++ b/src/Umbraco.Core/Models/Membership/User.cs
@@ -17,13 +17,8 @@ namespace Umbraco.Core.Models.Membership
[DataContract(IsReference = true)]
public class User : Entity, IUser
{
- public User(IUserType userType)
+ public User()
{
- if (userType == null) throw new ArgumentNullException("userType");
-
- _userType = userType;
- _defaultPermissions = _userType.Permissions == null ? Enumerable.Empty() : new List(_userType.Permissions);
- //Groups = new List