GvS*_*GvS 72 asp.net-mvc-3 glimpse
我最近在我的项目中添加了Glimpse Debugger包.这增加了对Glimpse dll的引用,并修改了一些Web.Config.
我在开发和生产环境中尽可能地喜欢我的项目.
那么将Glimpse部署到我的生产站点是节省/明智的,还是应该创建一个不同的项目(或者从我的csproj文件创建分支)以仅在本地保存它?
我担心的东西包括:
Nic*_*cht 105
我相信如果找不到Glimpse的cookie,它就不会加载或做任何事情,所以性能应该可以忽略不计.安全方面,您可以在web.config中设置用户限制以获取一瞥路径的位置.
<location path="Glimpse.axd" >
<system.web>
<authorization>
<allow users="Administrator" />
<deny users="*" />
</authorization>
</system.web>
</location>
Run Code Online (Sandbox Code Playgroud)
或者,如果存在管理员角色,则可以按角色而不是用户名来执行.
如果您不想仅仅依赖cookie的存在,也可以将其关闭.这很容易通过web.config转换实现,我还没有测试过标记,但是这样的东西应该可行.
<glimpse enabled="false" xdt:Transform="SetAttributes">
</glimpse>
Run Code Online (Sandbox Code Playgroud)
更新:Glimpse最近看到了一些变化(从1.0开始我认为?),现在变换看起来如下.尝试设置enabled
属性将在最新版本的Glimpse中给出配置错误.
<glimpse defaultRuntimePolicy="Off" xdt:Transform="SetAttributes">
</glimpse>
Run Code Online (Sandbox Code Playgroud)
正如文件所说......
使用Http响应时,永远不会允许Glimpse做更多的事情
DefaultRuntimePolicy
.
应该注意的是,此转换所用的唯一目的是,如果要删除在部署过程中使用Glimpse的功能.如果要根据远程请求或授权检查等其他条件有条件地禁用它,可以通过策略更好地完成这些操作.Glimpse现在运行一系列政策(全部基于IRuntimePolicy
),旨在帮助确定何时应该允许一瞥.事实上,一旦安装了Glimpse,如果您导航到该页面底部的glimpse.axd,您将看到当前启用的策略列表.例如,LocalPolicy
这可以防止远程请求访问它(可配置地,可以通过web.config忽略任何策略以允许远程请求)http://getglimpse.com/Help/Configuration.GlimpseSecurityPolicy
当您使用Nuget安装Glimpse时,它们还包含一个名为的示例类,您可以使用它来添加授权限制.
public class GlimpseSecurityPolicy:IRuntimePolicy
{
public RuntimePolicy Execute(IRuntimePolicyContext policyContext)
{
// 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 != null && !httpContext.User.IsInRole("Glimpse")) //Once glimpse is turned on, you have to be a member of this Role to see the Glimpse Panel.
{
return RuntimePolicy.Off;
}
return RuntimePolicy.On;
}
public RuntimeEvent ExecuteOn
{
get { return RuntimeEvent.EndRequest; }
}
}
Run Code Online (Sandbox Code Playgroud)
现在,策略用于确定何时应运行glimpse,但它们不会阻止用户启动glimpse.axd页面.cookie仍然可以从我所知道的内容中启用,但如果尽管存在cookie,一瞥拒绝运行,cookie也毫无意义.话虽如此,仍然建议使用web.config中的位置标记将glimpse.axd页面包装在授权检查中.请注意,这是对GlimpseSecurityPolicy
上述内容的补充.
<location path="glimpse.axd">
<system.web>
<authorization>
<allow roles="Glimpse" />
<deny users="*" />
</authorization>
</system.web>
</location>
Run Code Online (Sandbox Code Playgroud)
Yarx在各方面都是正确的.
从安全角度来看,您可以使用所描述的方法锁定路径.唯一的问题是,有更多的URL端点可以使用,因此规则需要类似*Glimpse/*
(其中*表示任何东西都可以在它之前,任何东西都可以在它之后).一旦这个到位,一瞥就应该被锁定.
另外,如果在配置中,您使用了Yarx提供的转换,即使您打开了cookie,也不会加载glimpse.
归档时间: |
|
查看次数: |
13112 次 |
最近记录: |