Amostra de ASP.NET com redirecionamento nítido C com cookies
Este exemplo de código ASP .NET cria um portal de autenticação simples e passa um cabeçalho HTTP não criptografado como um cookie.
Nota:
A funcionalidade descrita aqui requer a função de administrador.
Nota:
Os cookies são específicos do domínio e não podem ser usados em domínios de rede diferentes. O único domínio que pode ler um cookie é o domínio que o define. Não importa o nome de domínio definido. Se você não tiver a opção de seu portal de SSO estar no mesmo domínio de rede que sua instância ServiceNow (por exemplo, em uma implantação no local, uma alternativa é passar o token de SSO usando parâmetros de URL GET ou POST.
Este exemplo pressupõe:
- O servidor Web oferece suporte a ASP .NET e C#
- A instância ServiceNow de destino é https://<instance name> .service-now.com/
- O SiteMinder ou outra aplicação de logon único pré-autenticou o usuário
- A instância de destino ServiceNowespera um cabeçalho HTTP de SM_USER
Altere o código ASP para redirecionar os usuários para a instância ServiceNow apropriada.
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>Portal Page Login</title>
<%-- <meta http-equiv="REFRESH" content="0;url=https://<instance name>.service-now.com/">--%>
</head>
<body>
<form id="form1" runat="server">
<h2><b> Portal Page Login </b></h2>
<hr style="position: static" />
<br />
<asp:Label ID="Label2" runat="server" Font-Size="Larger" Height="21px" Style="position: static"
Text="Instance URL:" Width="113px"></asp:Label>
<asp:TextBox ID="urlBox" runat="server" Font-Size="Large" Style="position: static"></asp:TextBox><br />
<br />
<asp:Label ID="Label1" runat="server" Font-Size="Larger" Height="17px" Style="position: static;" Text="User Id:" Width="113px"></asp:Label>
<asp:TextBox ID="userNameBox" runat="server" Font-Size="Large" Style="position: static;"></asp:TextBox>
<br />
<br />
<asp:Button ID="Button1" runat="server" Height="39px" Style="position: static;" Text="Ok"
Width="88px" OnClick="Button1_click" />
</form>
</body>
</html>
</asp>O código C# a seguir manipula o evento do botão OnClick para o formulário. O código:
- Cria o cookie "SM_USER"
- Executa um redirecionamento para o URL especificado no formulário ASP.
Altere o código C# para criar o nome do cookie apropriado.
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void Button1_click(object sender, EventArgs e)
{
try
{
HttpCookie myCookie = new HttpCookie("SM_USER");
myCookie.Value = userNameBox.Text;
Response.Cookies.Add(myCookie);
Response.Redirect(urlBox.Text);
}catch {}
}
}