私は Microsoft .NET 4.0 環境で作業しています。私のアプリケーションでは、ユーザーが新しい自動パスワードを取得できるようにしています。したがって、.cs ファイルで次のメソッドを使用します。
MembershipUser user = Membership.GetUser();
user.ResetPassword();
パスワードのリセット時にトリガーしたいのは、つまり、パスワードが自動パスワードに変更されると、新しいパスワード (user.ResetPassword() から返される) を含む電子メールがユーザーの電子メール アドレスに送信されることです。
標準のメンバーシップ DB テーブルを使用します。
次のトリガーを書きました。
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(...) など) では使用しないように定義できますか?
- おそらく、パスワードのリセットをトリガーする別の簡単な方法がありますか?
ありがとうございました。