我已经创建了一个MPGW政策,在进入后方之前添加首页进行身份验证:
请求规则:
Rule1 : Matchrule: /favicon.ico
Rule2: Matchrule: /loginpage.html Transform: xsl stylesheet to dispaly a html loginpage and add the login & password at the query params in the URL
Rule3: Matchrule: /wps/portal/Home Transform: xsl stylesheet to extract login/passwrd from URL and authenticate user with a LDAP (dp:ldap-authen()) and write result in a context variable
这是我的问题:
回应规则:
Rule4: Matchrule: "/" Transform : xsl stylesheet " i want to do: if context variable is OK nothing to do else display an error page html " !!!??
我已在回复样式表中写道:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:dp="http://www.datapower.com/extensions" xmlns:re="http://exslt.org/regular-expressions"
extension-element-prefixes="dp re"
exclude-result-prefixes="dp re">
<xsl:output method="html"/>
<xsl:template match="/">
<xsl:if test="string-length(dp:variable('var://context/LDAP_Auth_Status')) = 0">
<!--ERROR-->
<html>
<head>
<title> Error Page</title>
</head>
<body>
<h2> Error USER VALIDITY </h2>
<strong>doom!!</strong>
</body>
</html>
</xsl:if>
</xsl:template>
</xsl:stylesheet>
&#13;
答案 0 :(得分:0)
首先,Rule4: Matchrule: "*"
如果您希望它匹配任何内容,则应为星号。
其次,是否有背面回应?
如果应该运行Response规则,则必须添加var://service/skip-backside=1
。否则会转到错误规则。
最好不要在上下文中添加值。您应该使用上下文变量,例如:
var://context/LDAPInfo/LDAP_Auth_Status
您可以使用<xsl:message pd:priority="debug">
将信息添加到日志中,以便更轻松地查找值。还可以使用Probe查找Context变量值并查看流程如何运行。