我在 Microsoft .NET 4.0 环境中工作。在我的应用程序中,我使用户能够获得新的自动密码。所以我在我的 .cs 文件中使用了这个方法:
MembershipUser user = Membership.GetUser();
user.ResetPassword();
我想在重置密码时触发,这意味着:当密码更改为自动密码时,将向用户的电子邮件地址发送一封电子邮件,其中包含新密码(从 user.ResetPassword() 返回)。
我使用标准的会员数据库表。
我写了以下触发器:
CREATE TRIGGER MembershipChangePass ON aspnet_Membership
AFTER UPDATE,DELETE
AS
BEGIN
DECLARE @user uniqueidentifier
DECLARE @email nvarchar(256)
SELECT @user = (SELECT UserId FROM UPDATED)
SELECT @email =(SELECT LoweredEmail FROM aspnet_Membership
WHERE @user=UserId)
EXEC xp_sendmail @email, ???
END
GO
- 问题是我如何获得???- 我通过方法创建的新自动密码:user.ResetPassword();
- 我可以将 TRIGGER 定义为仅与 user.ResetPassword() 一起使用,而不是与其他方法一起使用(例如:(user.ChangePassword(...))吗?
- 也许还有另一种简单的方法来触发重置密码?
谢谢你。