我正在使用Url.IsLocalUrl检查传递给我的身份验证操作的返回URL是否是本地的.只要URL中没有片段,它就可以正常工作.也就是说,
/t/test-team-3/tasks/lists/15返回true,但/t/test-team-3/tasks#/lists/15返回false.
这背后的原因是什么?是否有一些模糊的安全问题可能会在片段中出现,或者我可以在检查URL是否为本地时安全地忽略该片段?
Dar*_*rov 20
此方法在内部调用Uri.IsWellFormedUriString方法.在包含片段的相对URL上调用此方法时,它返回false.MS Connect上有一个错误,由于设计原因而关闭.
在绝对URL(使用http/https等方案)上使用此方法时,该方法的行为与预期的一样.我认为原因是Uri类不仅适用于HTTP URL.如果未指定协议(相对URL),则使用不允许片段的通用URL解析器.
所以我猜你有两种可能性:
http://foo.com/t/test-team-3/tasks#/lists/15)上调用该方法,因为无论如何,如果您在相对URL上调用此方法,我们可以预期它是本地URL.| 归档时间: |
|
| 查看次数: |
13287 次 |
| 最近记录: |