protected void btnAssociate_Click(object sender, EventArgs e)
{
MembershipUser user = Membership.GetUser();
user.Comment = GetPPID();
Membership.Up
dateUser(user);
}
private string GetPPID()
{
XmlDocument doc = new XmlDocument();
doc.LoadXml(
Request.Form["xmlToken"]);
XmlNode node =
doc.
SelectSingleNode(
"/saml:Assertion/saml:AttributeStatement/saml:Attribute[@AttributeName=
'privatepersonalidentifier']", GetNamespaces(doc));
return node.InnerText;
}
private XmlNamespaceManager GetNamespaces(XmlDocument doc)
{
XmlNamespaceManager nsManager = new XmlNamespaceManager(doc.NameTable);
nsManager.AddNamespace("saml", "urn:oasis:names:tc:SAML:1.0:assertion");
return nsManager;
}
Nu har vår användare sparat undan sitt PPID. Det skall sedan användas för att identifiera användaren. Nästa steg är att hämta PPID samt e-postadressen från kortet för att användaren skall kunna identifieras. Vi skall använda ett likadant
formulär som innan, med skillnaden att vi nu även skall hämta e-postadressen.
<object type="application/x-informationcard" name="xmlToken">
<param name="tokenType" value="urn:oasis:names:tc:SAML:1.0:assertion" />
<param name="requiredClaims" value="
http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddresshttp://schemas.xmlsoap.org/ws/2005/05/identity/claims/privatepersonalidentifier" />
</object>
<asp:Button ID="btnLogin" runat="
server" Text="Login" OnClick="btnLogin_Click" />