HSLE#37342 SAML ook via &sso=1
svn path=/Website/branches/v2016.1/; revision=30676
This commit is contained in:
68
CUST/HSLE/SAML/default2.asp
Normal file
68
CUST/HSLE/SAML/default2.asp
Normal file
@@ -0,0 +1,68 @@
|
||||
<%@ language = "JavaScript" %>
|
||||
<% /*
|
||||
$Revision$
|
||||
$Id$
|
||||
File: cust/hsle/saml/default.asp
|
||||
Description: Single Sign On script
|
||||
Parameters:
|
||||
Context: Variant die ook te gebruiken is via &sso=1
|
||||
Note:
|
||||
*/ %>
|
||||
<%
|
||||
Response.Expires=-1;
|
||||
Session("customerId") = "HSLE";
|
||||
ANONYMOUS_Allowed = 1;
|
||||
%>
|
||||
<!-- #include file="../../../appl/Shared/common.inc" -->
|
||||
<!-- #include file="../../../appl/shared/login.inc" -->
|
||||
<%
|
||||
// for (i=1; i <= Request.ServerVariables.Count; i++)
|
||||
// {
|
||||
// __DoLog(Request.ServerVariables.key(i) + ": " + Request.ServerVariables(i));
|
||||
// }
|
||||
|
||||
var uname = String(Request.ServerVariables("HTTP_EPPN"));
|
||||
// __DoLog("uname: " + uname);
|
||||
Response.Write("SAML user detected as: " + uname);
|
||||
var sql = "SELECT prs_perslid_oslogin"
|
||||
+ " FROM prs_perslid pp"
|
||||
+ " , prs_kenmerklink pkl"
|
||||
+ " WHERE pp.prs_perslid_key = pkl.prs_link_key"
|
||||
+ " AND pkl.prs_kenmerklink_niveau = 'P'"
|
||||
+ " AND pkl.prs_kenmerk_key = 1000" // IID
|
||||
+ " AND pkl.prs_kenmerklink_waarde = " + safe.quoted_sql(uname)
|
||||
var oRs = Oracle.Execute(sql);
|
||||
if (!oRs.Eof)
|
||||
{
|
||||
uname = oRs("prs_perslid_oslogin").Value;
|
||||
__Log("IID vertaald naar: " + uname);
|
||||
}
|
||||
|
||||
var newUrl = rooturl + "/";
|
||||
if (Session("SSO_URL")) // binnen via sso=1 route
|
||||
{ // met 2016.2 moet dit eigenlijk via een JWT
|
||||
var sso_qs = Session("SSO_QUERYSTRING")||"";
|
||||
var sso_url = Session("SSO_URL");
|
||||
sso_url = sso_url.replace(/^\/default.asp/i, "/"); // default.asp vooraan hoeft niet, ik wil cleane url
|
||||
|
||||
Session.Contents.Remove("SSO_QUERYSTRING");
|
||||
Session.Contents.Remove("SSO_URL");
|
||||
newUrl = sso_url + (sso_qs?"?":"") + sso_qs;
|
||||
}
|
||||
else
|
||||
{
|
||||
var sso_qs = String(Request.ServerVariables("QUERY_STRING"));
|
||||
if (sso_qs)
|
||||
newUrl += "?" + sso_qs;
|
||||
}
|
||||
|
||||
if (tryLogin(uname, null))
|
||||
{
|
||||
//Response.Write("Hoera: je bent user: " + user_key);
|
||||
}
|
||||
else
|
||||
{ // Automatisch naar het inlogscherm
|
||||
__DoLog("SAML login not found in Facilitor: " + uname);
|
||||
}
|
||||
Response.Redirect(newUrl);
|
||||
%>
|
||||
Reference in New Issue
Block a user