【发布时间】:2015-02-20 18:53:29
【问题描述】:
在使用RuntimeEvent.ExecuteResource 时,我可以通过 glimpse 访问会话信息。如果没有这个,axd 文件就会暴露出来,除非特定用户登录,否则我宁愿禁用它。在下面的两个示例中,会话都将为空。我也试过让这个类实现IRequiresSessionState,但这也没有帮助。
namespace Glimpse
{
public class GlimpseSecurityPolicy:IRuntimePolicy
{
public RuntimePolicy Execute(IRuntimePolicyContext policyContext)
{
try
{
var name = HttpContext.Current.Session["username"];
var name2 = policyContext.GetHttpContext().Session["username"];
}
catch (Exception)
{
}
// You can perform a check like the one below to control Glimpse's permissions within your application.
// More information about RuntimePolicies can be found at http://getglimpse.com/Help/Custom-Runtime-Policy
// var httpContext = policyContext.GetHttpContext();
// if (!httpContext.User.IsInRole("Administrator"))
// {
// return RuntimePolicy.Off;
// }
return RuntimePolicy.On;
}
public RuntimeEvent ExecuteOn
{
// The RuntimeEvent.ExecuteResource is only needed in case you create a security policy
// Have a look at http://blog.getglimpse.com/2013/12/09/protect-glimpse-axd-with-your-custom-runtime-policy/ for more details
get { return RuntimeEvent.EndRequest | RuntimeEvent.ExecuteResource; }
}
}
}
【问题讨论】:
-
您是否尝试仅为特定用户启用 Glimpse?
-
我可以通过在 web.config 中配置 Glimpse 仅允许某些用户使用。
位置> -
你必须在 glimpse 上禁用 localpolicy
标签: glimpse