【发布时间】:2019-02-17 08:28:58
【问题描述】:
有没有办法控制发送到 AppInsights 跟踪的数据。正如官方文档所说,文件过滤和预处理是一种方法。我无法从 POST & PUT 获取属性(密码)。由于密码很敏感,我不想被发送到 App Insights。 以下是我的痕迹:
“值”:“client_id={someguid}&resource={someguid}&username={username}&password={password}&grant_type=password&scope=openid&nca=1;1;login-NonInteractive;False”
public void Initialize(ITelemetry telemetry)
{
var requestTelemetry = telemetry as RequestTelemetry;
if (requestTelemetry != null && (HttpContext.Current.Request.HttpMethod == HttpMethod.Post.ToString() || HttpContext.Current.Request.HttpMethod == HttpMethod.Put.ToString()))
{
using (var reader = new StreamReader(HttpContext.Current.Request.InputStream))
{
string requestBody = reader.ReadToEnd();
requestTelemetry.Properties.Add("body", requestBody);
}
}
}
【问题讨论】:
-
当您提到“密码”属性时,您是要将密码发送给应用洞察,还是不发送给?你能提供更多细节吗?谢谢。
-
是的,密码在请求遥测中以纯文本形式结束
-
您发送密码的代码在哪里?还是由sdk自动发送?
-
当 b2cazure 配置为开发模式时,所有详细信息都将发送过来
-
在using语句中,拿到inputStream后,尝试替换密码或者remove。比如 if(requestBody.contains("password")){requestBody="new xxx"}.
标签: c# azure azure-application-insights telemetry