我正在关注this教程“ Angular 7-用户注册和登录示例及教程”。我想知道app.Settings.secret的存储位置。下面显示了如何声明appSettings。我找不到“秘密”字符串的存储位置
public UsersController(
IUserService userService,
IMapper mapper,
IOptions<AppSettings> appSettings)
{
_userService = userService;
_mapper = mapper;
_appSettings = appSettings.Value;
}
这是appSettings.cs的主题
public class AppSettings
{
public string Secret { get; set; }
}
最后,这是在UsersController中访问它的方式:
public IActionResult Authenticate([FromBody]UserDto userDto)
{
var user = _userService.Authenticate(userDto.Username, userDto.Password);
if (user == null)
return BadRequest(new { message = "Username or password is incorrect" });
var tokenHandler = new JwtSecurityTokenHandler();
var key = Encoding.ASCII.GetBytes(_appSettings.Secret);
当我使用真正的后端运行程序并在此行上使用断点时:
---> var键= Encoding.ASCII.GetBytes(_appSettings.Secret);
然后将鼠标悬停在_appSettings上。秘密,我看到以下字符串:
“这用于签名和验证JWT令牌,用自己的秘密替换它,可以是任何字符串”
我想知道字符串存储在哪里,以分配给_appSettings.Secret。
答案 0 :(得分:1)
在默认设置中,它存储在项目内的appsettings [.EnvirnomentName(可选)]。json文件中,或来自asp.net核心配置包支持的其他各种来源:
https://docs.microsoft.com/en-us/aspnet/core/fundamentals/configuration/?view=aspnetcore-2.2
以下是“选项模式”的文档:https://docs.microsoft.com/en-us/aspnet/core/fundamentals/configuration/options?view=aspnetcore-2.2