- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我开始使用 ELMAH,我认为它很棒。我在线阅读了一些文档,但现在我的应用程序没有角色/用户授权设置。
我希望能够通过访问/elmah.axd 来读取生产环境中的错误日志,但我不想只向所有人开放它,elmah 是否具有任何允许我创建密码的功能(在 web.config 中)并通过查询字符串传递它?模仿“安全的”RSS 提要。或者类似的当然....
最佳答案
but right now my app doesn't have roles/user authorization setup
其实配置表单认证并不难:
<authentication mode="Forms">
<forms loginUrl="~/Account/LogOn" timeout="2880">
<credentials passwordFormat="Clear">
<user name="admin" password="secret" />
</credentials>
</forms>
</authentication>
然后保护elmah.axd
:
<location path="elmah.axd">
<system.web>
<authorization>
<deny users="?"/>
</authorization>
</system.web>
</location>
最后你可以拥有一个AccountController
:
public class AccountController : Controller
{
public ActionResult LogOn()
{
return View();
}
[HttpPost]
public ActionResult LogOn(string username, string password)
{
if (FormsAuthentication.Authenticate(username, password))
{
FormsAuthentication.SetAuthCookie(username, false);
return Redirect("~/elmah.axd");
}
else
{
ModelState.AddModelError("", "The user name or password provided is incorrect.");
}
return View();
}
}
和一个 LogOn.cshtml
View :
@Html.ValidationSummary(false)
@using (Html.BeginForm())
{
<div>
@Html.Label("username")
@Html.TextBox("username")
</div>
<div>
@Html.Label("password")
@Html.Password("password")
</div>
<p>
<input type="submit" value="Log On" />
</p>
}
现在,当匿名用户尝试访问 /elmah.axd
时,他将看到登录屏幕,他需要在该屏幕上进行身份验证才能访问它。用户名/密码组合在 web.config
中。我在此示例中使用了 passwordFormat="Clear"
,但您也可以使用 SHA1 或 MD5 密码。
当然,如果您不想配置身份验证,您也可以将 elmah 配置为将日志信息存储在 XML 文件或 SQL 数据库中,然后从您面向公众的网站完全禁用 elmah.axd 处理程序。然后创建另一个 ASP.NET 站点,只有您可以使用指向相同日志源的相同 elmah 配置访问该站点,然后只需导航到您的私有(private)站点的/elmah.axd 处理程序即可读取您的公共(public)站点的日志。
关于asp.net-mvc - 在不创建角色/用户身份验证的情况下查看 elmah 日志,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9404807/
有人成功使用过 CaSTLe MonoRail 和 ELMAH 吗? 我们正在使用许多 Resuces 向用户显示友好的错误消息,但如果我们这样做,异常永远不会像 MonoRail 救援拦截它们那样达
我正在尝试配置 ELMAH 以发送电子邮件,但出现以下错误: Server Error in '/' Application. The SMTP server requires a secure co
在我的作品中,我们制作的网站好像已经过时了(即每年有很多网站) 我想在所有这些上安装 ELMAH 作为公司实践,然后集中记录所有内容以供我们的开发人员查看。这个过程必须非常简单,否则它的使用不会起飞。
任何人都可以建议一种快速的方法来告诉 Elmah 不要将电子邮件处理程序用于本地请求吗? 即当 Request.IsLocal == true我不想每次生成异常时都收到电子邮件。或者,一种简单地为本地
我想在我的 web.config 中以声明方式过滤 ELMAH 结果。我无法成功过滤掉我想要的一些异常。 HttpStatusCode 已成功过滤,但我仍无法通过 ViewStateException
安装后elmah.mvc来自 nuget: 默认创建的日志文件在哪里? 当我转到 时,错误记录得很好/myapp/elmah 但是我没有看到实际的日志文件所在的位置。 谢谢 最佳答案 查看 myapp
设置: 我通过 NuGet 在 ASP.NET MVC 4 站点上安装了 ELMAH。 在开发计算机上,应用程序安装在根目录下。一切正常,并且样式与 ELMAH 页面通常一样。它总是这样做,我的意思是
我的雇主目前正在试用 Fogbugz,其中一个不错的功能是我们的异常记录器 (ELMAH) 和 FogBugz 中的案例生成之间的某种自动化。具体来说,如果有一个模块可以向 FogBugz 发送错误报
我发布了我的网站并抛出了异常,但 App_Data 文件夹中没有生成错误文件。我想知道它是否具有对该文件夹的写访问权限。 文档说 ASP.Net 进程需要写访问权限,但不确定这是什么意思。有人能告诉我
我在独立(非 Azure)项目中使用了 ELMAH。对于 Azure 相关项目,我遇到了 Windows Azure 诊断 (WAD) 库。 从表面上看,它们似乎做同样的事情(Azure Diagno
我已通过 Nuget 将 Elmah.mvc 集成到我的 mvc 应用程序中。它正确存储日志,但是当我在 web.config 中进行任何更改或重新启动站点时,所有存储的错误日志都会被删除。有没有办法
该应用程序包括: ASP .NET MVC Web 应用程序 达尔 后台服务 图书馆项目 Web 应用程序和后台服务项目使用库项目来发送电子邮件。 SMTP 设置包含在库项目本身的配置文件中。 在这种
我在我的 ASP.NET 项目中使用 ELMAH 进行错误报告。一切正常,除了在调试项目时,我不想向允许的用户发送电子邮件报告。 我怎样才能完成这个壮举? 最佳答案 假设您的开发和生产环境有不同的 w
我目前正在使用 NLog 从我的 ASP.NET MVC3 应用程序中记录安全事件。 现在我们有另一个要求将应用程序错误添加到单独的日志中。 由于我们已经在使用 NLog(并且喜欢 Targets 的
我安装了 elmah.mvc nuget 包并保留了默认配置,没有设置发送电子邮件并将其插入 SQL 数据库。 当我使用 Visual Studio 主机时,在我的本地计算机上,我可以打开我的应用程序
我基本上已经加载了 Elmah 程序集并使用 NuGet 插件安装了该包。我记得它与我的一个项目一起工作,但突然它停止与 “无法从程序集 'Elmah' 加载类型 'Elmah.ErrorLogMod
我在/elmah.axd 路径上看不到未处理的异常 (MyService:RestServiceBase)。 我添加了用于查看错误的 http 处理程序。 我已经安装了 ServiceStack.
我有Code First MVC 4应用程序。 我尝试安装用于记录Elmah的NuGet软件包-似乎一切正常-错误消息在http://myapp/elmah.axd 然后我注意到有一个Elmah.MV
任何人都可以帮助我了解如何使用 ELMAH 和 C# 记录自定义消息,以防万一成功的 Web 请求返回状态代码 200。 有没有类似于下面提到的方法: Elmah.ErrorSignal.FromCu
我是 ASP.NET MVC 的新手,我正在寻找最不痛苦的方法来设置全局错误处理、日志记录和报告(通过电子邮件)。仅供引用,我的 ASP.NET MVC 应用程序在 Azure 中作为 Web 角色托
我是一名优秀的程序员,十分优秀!