ASP.NET SqlMembershipProvider を構成する方法はありますか?電子メールはオプションですが、提供された場合は一意でなければなりませんか?
requiredUniqueEmail
メールを必須にする属性 (web.config)しか見つかりませんでした。これを省略して、アカウント登録プロセスで既存の電子メール アドレスのチェックを自分で実装する必要がありますか?
または、このシナリオを処理するより良い方法はありますか?
ASP.NET SqlMembershipProvider を構成する方法はありますか?電子メールはオプションですが、提供された場合は一意でなければなりませんか?
requiredUniqueEmail
メールを必須にする属性 (web.config)しか見つかりませんでした。これを省略して、アカウント登録プロセスで既存の電子メール アドレスのチェックを自分で実装する必要がありますか?
または、このシナリオを処理するより良い方法はありますか?
簡単ですが、おそらく危険な方法は、これを行うためにストアド プロシージャを直接変更することです。
aspnet_Membership_CreateUser
以下を置き換えて変更します。
IF (@UniqueEmail = 1)
BEGIN
IF (EXISTS (SELECT *
FROM dbo.aspnet_Membership m WITH ( UPDLOCK, HOLDLOCK )
WHERE ApplicationId = @ApplicationId AND LoweredEmail = LOWER(@Email)))
BEGIN
SET @ErrorCode = 7
GOTO Cleanup
END
END
と
IF (EXISTS (SELECT *
FROM dbo.aspnet_Membership m WITH ( UPDLOCK, HOLDLOCK )
WHERE ApplicationId = @ApplicationId AND LoweredEmail = LOWER(@Email)))
BEGIN
SET @ErrorCode = 7
GOTO Cleanup
END
誰もあなたがこれを変更することを期待しておらず、変更を適切に文書化した方がよいので、私はそれが危険だと言います.