Creating a Dual Purpose Login Page
The code sample for this appendix includes a login page that uses the ASP.NET Login
control for traditional login and the <object> tag
for those who have already associated their information cards with their account. One of the
challenges with this is making sure that the <object> tag is only invoked when the user clicks the CardSpace login
button. Since we can’t have two active <form> tags
in an ASP.NET page, I had to learn a little bit more about <object> tags, how they are instantiated, and how to control that
instantiation with javascript.
First, I placed the <object> tag declaration in
the header section of the HTML page. I also had to use the declare attribute of the tag to indicate this was only a declaration so that
the CardSpace object would not be instantiated until it is referenced by the CardSpace
submit button:
<object declare id="informationCard" type="application/x-informationCard" name="informationCard" > ... </object>
Next, I created a javascript function, SelectInformationCard(
), that would instantiate the CardSpace object and put the value it returns into
a hidden text field:
<script type="text/javascript" language="javascript">
function SelectInformationCard( )
{
var infoCardObject =document.getElementById("informationCards");
var hiddenToken = document.getElementById("hiddenXmlToken");
hiddenToken.value = infoCardObject.value;
}
</script>Within the <form> tag, I arranged the Login control and my CardSpace image button, along with ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access