Beispiel ASP.NET mit C Sharp-Umleitung mit Cookies
Dieser Beispiel für ASP .NET-Code erstellt ein einfaches Authentifizierungsportal und übergibt einen unverschlüsselten HTTP-Header als Cookie.
Hinweis:
Die hier beschriebene Funktionalität erfordert Administrator Rolle.
Hinweis:
Cookies sind domänenspezifisch und können nicht in verschiedenen Netzwerkdomänen verwendet werden. Die einzige Domäne, die ein Cookie lesen kann, ist die Domäne, die es festlegt. Es spielt keine Rolle, welchen Domänennamen Sie festgelegt haben. Wenn Sie keine Option haben, dass sich Ihr SSO-Portal in derselben Netzwerkdomäne wie Ihr befindet ServiceNowInstanz (in einer Bereitstellung vor Ort kann beispielsweise das SSO-Token mithilfe der URL übergeben werden GETOder POSTParameter.
Dieses Beispiel setzt voraus:
- Der Webserver unterstützt ASP .NET und C#
- Das Ziel ServiceNowInstanz ist https://<instance name>.service-now.com/
- SiteMinder oder eine andere Single Sign-on-Anwendung hat den Anwender vorab authentifiziert
- Das Ziel ServiceNowInstanz erwartet einen HTTP-Header von „SM_USER“
Ändern Sie den ASP-Code, um Anwender zum richtigen umzuleiten ServiceNowInstanz.
<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>Der folgende C#-Code verarbeitet Beim Klicken Schaltflächenereignis für das Formular. Der Code:
- Erstellt das Cookie „SM_USER“
- Führt eine Umleitung zur URL durch, die im ASP-Formular angegeben ist.
Ändern Sie den C#-Code, um den richtigen Cookie-Namen zu erstellen.
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 {}
}
}