我正在创建一个网关应用程序,它将控制对各种其他应用程序(工具)的访问。
在访问该站点时,会识别用户并显示他们有权访问的工具列表。单击该链接将用户带到该工具。URL 附有一个标记作为查询字符串。令牌已加密。
到达工具站点后,系统会检查是否有带有标记的查询字符串。它检查令牌是否有效(日期是加密的一部分)。如果 OK,则令牌也保存为 cookie,有效期为 8 小时并授予访问权限。
如果用户直接从书签中点击工具站点,系统会再次检查是否有令牌以及它是否有效。如果没有令牌作为查询字符串传递,那么系统将查看它是否仍然具有有效的 cookie。如果没有有效的令牌或 cookie,站点将调用 response.redirect 到网关以及两个查询字符串 t 和 r。t 是工具的数字 ID,r 是工具 URL。
应该发生的是,用户将被重定向到网关,网关将检查用户是否可以访问工具 id t,以及是否已经重定向回 r,并附加了一个新的令牌作为查询字符串。
我的代码有以下......
Private GatewayURL As String = "http://GatewayURL/default.aspx?t=2&r="
Private ToolURL As String = "http://ToolURL/default.aspx"
In my page load I have….
…
If AuthenticationPass = False Then
'We are not authenticated...
Response.Redirect(GatewayURL & ToolURL, True)
End If
…
不幸的是,当触发此操作时,我收到以下错误...
Invalid path for child request 'http://GatewayURL/default.aspx'. A virtual path is expected.
我已经没有解决这个问题的想法了....任何帮助表示赞赏。