我的应用程序正在记录每个操作方法调用的参数,除了记录用户名和密码的Login()
方法之外,这是可以的。有没有办法排除这个?
info: Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker[1]
Executing action method Service.Auth.Api.Controllers.AuthController.Login (Service.Auth.Api) with arguments (USERNAME, PASSWORD) - ModelState is Valid
答案 0 :(得分:1)
您应该考虑使用视图模型对象而不是传递单个参数。这样,ControllerActionInvoker
将记录视图模型的实例,默认情况下不会公开用户信息:
public class LoginViewModel
{
[Required]
public string Username
{ get; set; }
[Required]
[DataType(DataType.Password)]
public string Password
{ get; set; }
}
[HttpPost]
[AllowAnonymous]
[ValidateAntiForgeryToken]
public async Task<IActionResult> Login(LoginViewModel model)
{
if (ModelState.IsValid)
{
// …
}
}
这也允许您使用验证属性并在控制器操作开始时验证模型状态。