安全菜鸟在这里。
我正在尝试从 asp.net 会员转变为 Umbraco 会员。但是使用 passwordFormat="Encrypted" 似乎在 Umbraco 成员提供程序和 Microsoft 的 SQL 成员提供程序之间进行了不同的加密。
如果我向 SQL 成员资格提供程序注册了两个用户(使用 passwordFormat="Encrypted") - 编码的密码是不同的。如果我对 Umbraco 提供商做同样的事情,他们是一样的。
虽然所有字符串都解密为相同的东西(正确的密码) - 我显然不能使用 umbraco DB 中的 SQL 成员资格提供程序加密的密码(ValidateUser 失败)。
有人有想法么?
注意:我在两个站点上使用相同的 machineKey。
编辑:在 Umbraco 会员提供者上调用 EncryptPassword() 和 EncodePassword() 会给出不同的结果 - 而 EncodePassword 是正确的调用方法。但是 EncodePassword 在 .NET Membership 提供程序上不可用。这是我困惑的另一部分。