34 lines
1.2 KiB
C#
34 lines
1.2 KiB
C#
|
using System;
|
|||
|
namespace ln.identities
|
|||
|
{
|
|||
|
public class AssignedRole
|
|||
|
{
|
|||
|
IIdentityProvider identityProvider;
|
|||
|
public IIdentityProvider IdentityProvider => identityProvider;
|
|||
|
|
|||
|
readonly Guid identityUniqueID;
|
|||
|
public Identity Identity => IdentityProvider.GetIdentity(identityUniqueID);
|
|||
|
|
|||
|
public Role Role { get; set; }
|
|||
|
|
|||
|
protected AssignedRole(IIdentityProvider identityProvider)
|
|||
|
{
|
|||
|
this.identityProvider = identityProvider;
|
|||
|
}
|
|||
|
|
|||
|
public AssignedRole(IIdentityProvider identityProvider, Identity identity) : this(identityProvider, identity, 0) { }
|
|||
|
public AssignedRole(IIdentityProvider identityProvider,Identity identity,Role role) :this(identityProvider)
|
|||
|
{
|
|||
|
identityUniqueID = identity.UniqueID;
|
|||
|
Role = role;
|
|||
|
}
|
|||
|
|
|||
|
public override string ToString() => String.Format("[AssignedRole Identity={0} Role={1}]",Identity.IdentityName,Role);
|
|||
|
|
|||
|
public override int GetHashCode() => identityUniqueID.GetHashCode();
|
|||
|
public override bool Equals(object obj) => (obj is AssignedRole you) && (identityUniqueID.Equals(you.identityUniqueID));
|
|||
|
|
|||
|
|
|||
|
}
|
|||
|
}
|