我正在开发一个内部网络应用程序,我们正在使用服务器端生成的安全查询字符串 key 来实现一些简单的安全性,以防止用户访问他们未被授予访问权限的页面。我目前正在处理的页面通过 AJAX 调用获取数据并将其呈现在页面上的表格中。每行都有一个编辑按钮,可以将用户带到包含更多信息的编辑页面,行的 ID 保留在查询字符串中。由于每个行 ID 都是唯一的,因此每个编辑页面的键对于该行-用户组合都是唯一的。
我的问题是我需要能够以某种允许 JavaScript 重定向用户的方式从服务器获取这些安全查询字符串 key 。我无法移动 key 生成器客户端,因为这开启了用户为他们无权访问的页面生成自己的 key 的可能性。同样,我无法在 Web 服务中公开生成器。
基本上这归结为我很难找到一种方法将数据从客户端发送到服务器以生成安全 key 然后将用户重定向到新页面。
不确定我是否 100% 清楚,但我会在有问题时对其进行编辑。
最佳答案
您的问题有点不清楚,但 PageMethods
可能适用于此:
[WebMethod]
public static string GetSecureID()
{
return "Secure";
}
clientRedirectSecure = function() {
PageMethods.GetSecureID(onSuccess, onFailure);
}
onSuccess = function(result) {
window.location.href = "somepage.aspx?id=" + result;
}
onFailure = function(error) {
alert(error);
}
这是一篇讨论 PageMethods
的文章:
http://blogs.microsoft.co.il/blogs/gilf/archive/2008/10/04/asp-net-ajax-pagemethods.aspx
关于javascript - 从 JavaScript 重定向,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7653862/