我知道这不会是安全的。但是,我想至少做一些尝试,尽量做我需要做的事情。
我们有一个使用IE浏览器控件构建的自定义客户端。我无法改变这一点,改变它不属于这个问题的范围。问题是,如果用户在弹出打开窗口的应用程序中执行操作,则会在IE中打开窗口,而不是客户端应用程序。
我们有一些导出到CSV和打印功能打开一个新窗口。它们打印或导出的信息取决于访问控制。因此,当窗口在IE中弹出时,它们不会登录到IE;所以没有访问控制。我需要能够将会话传递给IE,以便用户登录并打印相应的信息或导出到csv。
不一定需要Fort Knox的安全性。它不适用于公共网站,也不适用于安全数据。但是,有没有办法在不完全忽略所有安全性的情况下实现这一目标?
答案 0 :(得分:3)
在弹出窗口之前,创建一个令牌并将其存储在数据库中,并与当前用户建立关系。为令牌提供60秒的到期时间(根据需要进行调整)并将其添加到弹出窗口URL的末尾。当该网址被点击时,请读取令牌及其与用户的关联。从那里,您应该能够访问ACL控件。
您不会转移会话,但您将知道哪个用户正在请求弹出窗口。希望它有所帮助...
警告:这不是很安全,因为令牌在中间攻击中容易受到攻击。添加过期功能是试图限制这种可能性。这种方法可以通过默默无闻来考虑安全性。