我正在实现一个自定义成���资格提供程序,它针对我的数据库中的现有架构工作���并有一些想法/问题。
登录控件将自动调用成员资��提供程序的ValidateUser方法,因此无论我如何实现提供��序,登录控件关心的唯一事情就是此方法返回的bool值��� 我困惑的是,可能有许多原因导致登录尝试失败; 用���被锁定,在一段时间内尝试次数过多等。 我看不到任何传达给控件以便宜显示正确消息的方法。 成员资格提供程序的其他属性,例如PasswordStrengthRegularExpression,在登录控件上也没有任何影响(开箱即用),我希望它会自动转换为正则表达式验证器,但似乎并非如此。 因此,如果我希望它们在控件本身上起作用,则似乎需要从提供程序配置中初始化登录控件属性。
如果登录控件开箱即用(无需手动处理事件并执行上述初始化)的唯一操作是调用成员资格提供程序的ValidateUser方法,那么我看不到向登录控件传回验证失败原因甚至执行基于某个时间窗口的验证请求限制等操作的方法。 最终我的问题是,为什么我要与登录控件一起使用成员资格提供程序呢? 它似乎仅设计用于Yes / No类型的响应,这非常限制。 如果我想构建带有不同消息的逻辑以返回给用户,我需要处理登录控件事件并调用我的自己的身份验证类,该类将处理所有业务需求并返回自定义错误消息以供Login控件显示给用户,以便他们知道为什么他们的尝试无效。
除非我的假设是错误的,否则似乎登录控件作为成员资格API之间的接口过于受限而无法使用。 也许API在ChangePassword等其他身份验证控件上的工作更好,但对于实际的Login控件,我看不出有什么意义。
感谢您的想法。
登录控件将自动调用成员资��提供程序的ValidateUser方法,因此无论我如何实现提供��序,登录控件关心的唯一事情就是此方法返回的bool值��� 我困惑的是,可能有许多原因导致登录尝试失败; 用���被锁定,在一段时间内尝试次数过多等。 我看不到任何传达给控件以便宜显示正确消息的方法。 成员资格提供程序的其他属性,例如PasswordStrengthRegularExpression,在登录控件上也没有任何影响(开箱即用),我希望它会自动转换为正则表达式验证器,但似乎并非如此。 因此,如果我希望它们在控件本身上起作用,则似乎需要从提供程序配置中初始化登录控件属性。
如果登录控件开箱即用(无需手动处理事件并执行上述初始化)的唯一操作是调用成员资格提供程序的ValidateUser方法,那么我看不到向登录控件传回验证失败原因甚至执行基于某个时间窗口的验证请求限制等操作的方法。 最终我的问题是,为什么我要与登录控件一起使用成员资格提供程序呢? 它似乎仅设计用于Yes / No类型的响应,这非常限制。 如果我想构建带有不同消息的逻辑以返回给用户,我需要处理登录控件事件并调用我的自己的身份验证类,该类将处理所有业务需求并返回自定义错误消息以供Login控件显示给用户,以便他们知道为什么他们的尝试无效。
除非我的假设是错误的,否则似乎登录控件作为成员资格API之间的接口过于受限而无法使用。 也许API在ChangePassword等其他身份验证控件上的工作更好,但对于实际的Login控件,我看不出有什么意义。
感谢您的想法。