SamlAttribute 클래스
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
SamlAttributeStatement의 주체와 연결된 특성을 나타냅니다.
public ref class SamlAttribute
public class SamlAttribute
type SamlAttribute = class
Public Class SamlAttribute
- 상속
-
SamlAttribute
예제
protected override Collection<SamlAttribute> GetIssuedClaims(RequestSecurityToken RST)
{
EndpointAddress rstAppliesTo = RST.AppliesTo;
if (rstAppliesTo == null)
{
throw new InvalidOperationException("No AppliesTo EndpointAddress in RequestSecurityToken");
}
string bookName = rstAppliesTo.Headers.FindHeader(Constants.BookNameHeaderName, Constants.BookNameHeaderNamespace).GetValue<string>();
if (string.IsNullOrEmpty(bookName))
throw new FaultException("The book name was not specified in the RequestSecurityToken");
EnsurePurchaseLimitSufficient(bookName);
Collection<SamlAttribute> samlAttributes = new Collection<SamlAttribute>();
foreach (ClaimSet claimSet in ServiceSecurityContext.Current.AuthorizationContext.ClaimSets)
{
// Copy Name claims from the incoming credentials into the set of claims to be issued.
IEnumerable<Claim> nameClaims = claimSet.FindClaims(ClaimTypes.Name, Rights.PossessProperty);
if (nameClaims != null)
{
foreach (Claim nameClaim in nameClaims)
{
samlAttributes.Add(new SamlAttribute(nameClaim));
}
}
}
// Add a purchase authorized claim.
samlAttributes.Add(new SamlAttribute(new Claim(Constants.PurchaseAuthorizedClaim, bookName, Rights.PossessProperty)));
return samlAttributes;
}
Protected Overrides Function GetIssuedClaims(ByVal RST As RequestSecurityToken) As Collection(Of SamlAttribute)
Dim rstAppliesTo As EndpointAddress = RST.AppliesTo
If rstAppliesTo Is Nothing Then
Throw New InvalidOperationException("No AppliesTo EndpointAddress in RequestSecurityToken")
End If
Dim bookName As String = rstAppliesTo.Headers.FindHeader(Constants.BookNameHeaderName, Constants.BookNameHeaderNamespace).GetValue(Of String)()
If String.IsNullOrEmpty(bookName) Then
Throw New FaultException("The book name was not specified in the RequestSecurityToken")
End If
EnsurePurchaseLimitSufficient(bookName)
Dim samlAttributes As New Collection(Of SamlAttribute)()
Dim claimSet As ClaimSet
For Each claimSet In ServiceSecurityContext.Current.AuthorizationContext.ClaimSets
' Copy Name claims from the incoming credentials into the set of claims we're going to issue
Dim nameClaims As IEnumerable(Of Claim) = claimSet.FindClaims(ClaimTypes.Name, Rights.PossessProperty)
If Not (nameClaims Is Nothing) Then
Dim nameClaim As Claim
For Each nameClaim In nameClaims
samlAttributes.Add(New SamlAttribute(nameClaim))
Next nameClaim
End If
Next claimSet
' add a purchase authorized claim
samlAttributes.Add(New SamlAttribute(New Claim(Constants.PurchaseAuthorizedClaim, bookName, Rights.PossessProperty)))
Return samlAttributes
End Function
설명
클래스는 SamlAttribute OASIS SAML 1.1 사양에 정의된 XML 요소에 해당 <saml:Attribute>
합니다.
SamlAttribute instance 주체에 대한 클레임을 SamlAttributeStatement포함합니다PossessProperty. 예를 들어 에는 SamlAttribute 클레임이 Over21
포함될 수 있습니다. 해당 형식은 속성에 Namespace 지정되고 해당 리소스는 속성에서 컬렉션 AttributeValues 의 멤버로 지정됩니다. 메서드가 CreatePolicy 호출되면 이 Over21
클레임은 에서 SamlAttributeStatement에서 반환하여 반환되는 권한 부여 정책에 추가됩니다. 속성에 AttributeValues 여러 요소가 포함된 경우 각 요소에 대해 하나의 클레임이 반환됩니다.
SamlAttribute SAML 개체 계층 구조의 위치는 다음과 같습니다.
생성자
SamlAttribute() |
SamlAttribute 클래스의 새 인스턴스를 초기화합니다. |
SamlAttribute(Claim) |
지정된 클레임을 사용하여 SamlAttribute 클래스의 새 인스턴스를 초기화합니다. |
SamlAttribute(String, String, IEnumerable<String>) |
지정된 특성 이름, XML 네임스페이스 및 특성 값을 사용하여 SamlAttribute 클래스의 새 인스턴스를 초기화합니다. |
속성
AttributeValues |
SAML 특성에 대한 특성 값의 컬렉션을 가져옵니다. |
AttributeValueXsiType |
SAML 특성에 포함된 값의 xsi:type을 가져오거나 설정합니다. |
IsReadOnly |
이 인스턴스의 속성이 읽기 전용인지 여부를 나타내는 값을 가져옵니다. |
Name |
SAML 특성의 이름을 가져오거나 설정합니다. |
Namespace |
SAML 특성의 이름이 정의된 XML 네임스페이스를 가져오거나 설정합니다. |
OriginalIssuer |
SAML 특성의 OriginalIssuer를 나타내는 문자열을 가져오거나 설정합니다. |
메서드
Equals(Object) |
지정된 개체가 현재 개체와 같은지 확인합니다. (다음에서 상속됨 Object) |
ExtractClaims() |
이 SAML 특성이 나타내는 클레임의 컬렉션을 가져옵니다. |
GetHashCode() |
기본 해시 함수로 작동합니다. (다음에서 상속됨 Object) |
GetType() |
현재 인스턴스의 Type을 가져옵니다. (다음에서 상속됨 Object) |
MakeReadOnly() |
이 인스턴스를 읽기 전용으로 만듭니다. |
MemberwiseClone() |
현재 Object의 단순 복사본을 만듭니다. (다음에서 상속됨 Object) |
ReadXml(XmlDictionaryReader, SamlSerializer, SecurityTokenSerializer, SecurityTokenResolver) |
지정된 XML 판독기에서 SAML 특성을 읽습니다. |
ToString() |
현재 개체를 나타내는 문자열을 반환합니다. (다음에서 상속됨 Object) |
WriteXml(XmlDictionaryWriter, SamlSerializer, SecurityTokenSerializer) |
지정된 XML serializer에 SAML 특성을 씁니다. |
적용 대상
.NET