e79aa3c0ed
Former-commit-id: a2155e9bd80020e49e72e86c44da02a8ac0e57a4
104 lines
3.0 KiB
C#
104 lines
3.0 KiB
C#
//-----------------------------------------------------------------------------
|
|
// Copyright (c) Microsoft Corporation. All rights reserved.
|
|
//-----------------------------------------------------------------------------
|
|
|
|
namespace System.IdentityModel.Tokens
|
|
{
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.IdentityModel.Claims;
|
|
using System.Runtime.Serialization;
|
|
using System.Text;
|
|
|
|
[DataContract]
|
|
public class SamlAuthorizationDecisionClaimResource
|
|
{
|
|
[DataMember]
|
|
string resource;
|
|
|
|
[DataMember]
|
|
SamlAccessDecision accessDecision;
|
|
|
|
[DataMember]
|
|
string actionNamespace;
|
|
|
|
[DataMember]
|
|
string actionName;
|
|
|
|
[OnDeserialized]
|
|
void OnDeserialized(StreamingContext ctx)
|
|
{
|
|
if (string.IsNullOrEmpty(resource))
|
|
throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("resource");
|
|
if (string.IsNullOrEmpty(actionName))
|
|
throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("actionName");
|
|
}
|
|
|
|
public SamlAuthorizationDecisionClaimResource(string resource, SamlAccessDecision accessDecision, string actionNamespace, string actionName)
|
|
{
|
|
if (string.IsNullOrEmpty(resource))
|
|
throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("resource");
|
|
if (string.IsNullOrEmpty(actionName))
|
|
throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("actionName");
|
|
|
|
this.resource = resource;
|
|
this.accessDecision = accessDecision;
|
|
this.actionNamespace = actionNamespace;
|
|
this.actionName = actionName;
|
|
}
|
|
|
|
public string Resource
|
|
{
|
|
get
|
|
{
|
|
return this.resource;
|
|
}
|
|
}
|
|
|
|
public SamlAccessDecision AccessDecision
|
|
{
|
|
get
|
|
{
|
|
return this.accessDecision;
|
|
}
|
|
}
|
|
|
|
public string ActionNamespace
|
|
{
|
|
get
|
|
{
|
|
return this.actionNamespace;
|
|
}
|
|
}
|
|
|
|
public string ActionName
|
|
{
|
|
get
|
|
{
|
|
return this.actionName;
|
|
}
|
|
}
|
|
|
|
public override bool Equals(object obj)
|
|
{
|
|
if (obj == null)
|
|
return false;
|
|
|
|
if (ReferenceEquals(this, obj))
|
|
return true;
|
|
|
|
SamlAuthorizationDecisionClaimResource rhs = obj as SamlAuthorizationDecisionClaimResource;
|
|
if (rhs == null)
|
|
return false;
|
|
|
|
return ((this.ActionName == rhs.ActionName) && (this.ActionNamespace == rhs.ActionNamespace) &&
|
|
(this.Resource == rhs.Resource) && (this.AccessDecision == rhs.AccessDecision));
|
|
}
|
|
|
|
public override int GetHashCode()
|
|
{
|
|
return (this.resource.GetHashCode() ^ this.accessDecision.GetHashCode());
|
|
}
|
|
}
|
|
}
|