我想将 AlwaysEncrypted 应用于 AspNetUsers 表中的用户名列。
我有一个数据库播种器,如果它们不存在就会插入一些用户。当我第一次运行应用程序并点击登录时,播种机会执行,但它会在此行崩溃:
var result = this.userManager.Create(user, this.pass);
出现以下错误消息:
"Operand type clash: nvarchar(256) encrypted with (encryption_type = 'DETERMINISTIC', encryption_algorithm_name = 'AEAD_AES_256_CBC_HMAC_SHA_256', column_encryption_key_name = 'CEK_Auto1', column_encryption_key_database_name = 'TestDb') is incompatible with varchar\r\nStatement(s) could not be prepared."
而不是在该行上崩溃,结果通常会填充类似于 已经采用用户名的错误
如果我完全注释掉播种机,它会停在此线上而不返回任何内容:
var user = await userManager.FindAsync(model.UserName, model.Password);
为了让 AlwaysEncrypted 使用 Identity UserName ,我是否需要更改?