Velocity Reviews

Velocity Reviews (http://www.velocityreviews.com/forums/index.php)
-   ASP .Net Security (http://www.velocityreviews.com/forums/f62-asp-net-security.html)
-   -   How To Add User's GUID To An Account Verification E-mail (http://www.velocityreviews.com/forums/t769680-how-to-add-users-guid-to-an-account-verification-e-mail.html)

Jonathan Gill 10-28-2007 01:37 AM

How To Add User's GUID To An Account Verification E-mail
 
Hi everyone,
So I have a problem that is more difficult that it might seem at first
glance. created. Any help/a clever "duh" answer would be great as we've
spent more than 8 hours trying to get this working.

Please see the following thread for the full details:

"How To Add User's GUID To An Account Verification E-mail - E-mail Working,
Error In Retreiving GUID"

http://forums.asp.net/p/1172523

----
am receiving an error when I try to retrieve a newly (and
successfully...checked the DB) registered users GUID to include in an account
verification e-mail. I am using the e-mail that is sent by the membership
provider, however I am adding an extra step for the user to verify their
account. The e-mail works fine as long as I don't try and use the user's
GUID. The verification of a user's account step uses a newly defined
placeholder (<% Username %> and <% Password %> are supported by default in
asp.net membership) in the .txt file that is the basis for the e-mail. I can
get the placeholder to replace fine in the e-mail, however I get an error
when I try to include the user's GUID in the e-mail.

Here are examples:
http://www.pcw.co.uk/personal-comput...p-rules?page=3,
http://dotnetjunkies.com/WebLog/sara...30/137645.aspx

Any help with fixing the error is appreciated. Thanks!



Error

System.NullReferenceException was unhandled by user code
Message="Object reference not set to an instance of an object."
Source="App_Web_rih02pg9"
StackTrace:
at signup.CreateUserWizard1_SendingMail(Object sender,
MailMessageEventArgs e) in C:\Documents and Settings\Owner\My
Documents\Visual Studio 2005\WebSites\Test\Signup.aspx.vb:line 81
at
System.Web.UI.WebControls.CreateUserWizard.OnSendi ngMail(MailMessageEventArgs
e)
at System.Web.UI.WebControls.LoginUtil.SendPasswordMa il(String email,
String userName, String password, MailDefinition mailDefinition, String
defaultSubject, String defaultBody, OnSendingMailDelegate
onSendingMailDelegate, OnSendMailErrorDelegate onSendMailErrorDelegate,
Control owner)


Protected Sub CreateUserWizard1_SendingMail(ByVal sender As Object,
ByVal e As System.Web.UI.WebControls.MailMessageEventArgs) Handles
CreateUserWizard1.SendingMail
Dim tempMem As MembershipUser =
Membership.GetUser(CreateUserWizard1.UserName)

'Replace placeholder for the verification URL
e.Message.Body = Replace(e.Message.Body, "<% VerifyURL %>",
"http://www.test.com/VerifyAccount.aspx?key=" &
tempMem.ProviderUserKey.ToString) ' Error occurs on this line
'Line below will work and replace the placeholder in the e-mail file
'e.Message.Body = e.Message.Body.Replace("<% VerifyURL %>",
"http://www.test.com/VerifyAccount.aspx?key=123)

End Sub Protected Sub CreateUserWizard1_SendingMail(ByVal sender As
Object, ByVal e As System.Web.UI.WebControls.MailMessageEventArgs) Handles
CreateUserWizard1.SendingMail
Dim tempMem As MembershipUser =
Membership.GetUser(CreateUserWizard1.UserName.ToSt ring)
MsgBox(tempMem.ProviderUserKey.ToString) ' Will return error here

'Replace placeholder for the verification URL
e.Message.Body = Replace(e.Message.Body, "<% VerifyURL %>",
"http://www.test.com/VerifyAccount.aspx?key=" &
tempMem.ProviderUserKey.ToString) ' Error occurs on this line
'Line below will work and replace the placeholder in the e-mail file

'e.Message.Body = e.Message.Body.Replace("<% VerifyURL %>",
"http://www.test.com/VerifyAccount.aspx?key=123)
End Sub

Alexey Smirnov 10-28-2007 08:31 AM

Re: How To Add User's GUID To An Account Verification E-mail
 
On Oct 28, 2:37 am, Jonathan Gill
<JonathanG...@discussions.microsoft.com> wrote:
> http://forums.asp.net/p/1172523


Link doesn't work


> System.NullReferenceException was unhandled by user code
> Message="Object reference not set to an instance of an object."


It means your GUID is null, try to check it before making a call.


Jonathan Gill 10-28-2007 04:09 PM

Re: How To Add User's GUID To An Account Verification E-mail
 
Yes, Membership.Getuser says the user is null, but it is not. If I set a
break point before I call Membership.GetUser in the CreatedUser event of the
CreateNewUserWizard or even inthe SendingMil event which fires after
CreatedUser then I can manully check the DB and see all of the user's details
saved.

"Alexey Smirnov" wrote:

> On Oct 28, 2:37 am, Jonathan Gill
> <JonathanG...@discussions.microsoft.com> wrote:
> > http://forums.asp.net/p/1172523

>
> Link doesn't work
>
>
> > System.NullReferenceException was unhandled by user code
> > Message="Object reference not set to an instance of an object."

>
> It means your GUID is null, try to check it before making a call.
>
>


Alexey Smirnov 10-29-2007 09:08 AM

Re: How To Add User's GUID To An Account Verification E-mail
 
On Oct 28, 5:09 pm, Jonathan Gill
<JonathanG...@discussions.microsoft.com> wrote:
> Yes, Membership.Getuser says the user is null, but it is not. If I set a
> break point before I call Membership.GetUser in the CreatedUser event of the
> CreateNewUserWizard or even inthe SendingMil event which fires after
> CreatedUser then I can manully check the DB and see all of the user's details
> saved.
>
>
>
> "Alexey Smirnov" wrote:
> > On Oct 28, 2:37 am, Jonathan Gill
> > <JonathanG...@discussions.microsoft.com> wrote:
> > >http://forums.asp.net/p/1172523

>
> > Link doesn't work

>
> > > System.NullReferenceException was unhandled by user code
> > > Message="Object reference not set to an instance of an object."

>
> > It means your GUID is null, try to check it before making a call.- Hide quoted text -

>
> - Show quoted text -


What line is #81?


Jonathan Gill 10-29-2007 12:54 PM

RE: How To Add User's GUID To An Account Verification E-mail
 
Finally, determined the cause of the error. The DB had two application IDs
while I specified the applicationName in the membership provider, I needed to
specify the applicationName that I was looking for users in.



"Jonathan Gill" wrote:

> Hi everyone,
> So I have a problem that is more difficult that it might seem at first
> glance. created. Any help/a clever "duh" answer would be great as we've
> spent more than 8 hours trying to get this working.
>
> Please see the following thread for the full details:
>
> "How To Add User's GUID To An Account Verification E-mail - E-mail Working,
> Error In Retreiving GUID"
>
> http://forums.asp.net/p/1172523
>
> ----
> am receiving an error when I try to retrieve a newly (and
> successfully...checked the DB) registered users GUID to include in an account
> verification e-mail. I am using the e-mail that is sent by the membership
> provider, however I am adding an extra step for the user to verify their
> account. The e-mail works fine as long as I don't try and use the user's
> GUID. The verification of a user's account step uses a newly defined
> placeholder (<% Username %> and <% Password %> are supported by default in
> asp.net membership) in the .txt file that is the basis for the e-mail. I can
> get the placeholder to replace fine in the e-mail, however I get an error
> when I try to include the user's GUID in the e-mail.
>
> Here are examples:
> http://www.pcw.co.uk/personal-comput...p-rules?page=3,
> http://dotnetjunkies.com/WebLog/sara...30/137645.aspx
>
> Any help with fixing the error is appreciated. Thanks!
>
>
>
> Error
>
> System.NullReferenceException was unhandled by user code
> Message="Object reference not set to an instance of an object."
> Source="App_Web_rih02pg9"
> StackTrace:
> at signup.CreateUserWizard1_SendingMail(Object sender,
> MailMessageEventArgs e) in C:\Documents and Settings\Owner\My
> Documents\Visual Studio 2005\WebSites\Test\Signup.aspx.vb:line 81
> at
> System.Web.UI.WebControls.CreateUserWizard.OnSendi ngMail(MailMessageEventArgs
> e)
> at System.Web.UI.WebControls.LoginUtil.SendPasswordMa il(String email,
> String userName, String password, MailDefinition mailDefinition, String
> defaultSubject, String defaultBody, OnSendingMailDelegate
> onSendingMailDelegate, OnSendMailErrorDelegate onSendMailErrorDelegate,
> Control owner)
>
>
> Protected Sub CreateUserWizard1_SendingMail(ByVal sender As Object,
> ByVal e As System.Web.UI.WebControls.MailMessageEventArgs) Handles
> CreateUserWizard1.SendingMail
> Dim tempMem As MembershipUser =
> Membership.GetUser(CreateUserWizard1.UserName)
>
> 'Replace placeholder for the verification URL
> e.Message.Body = Replace(e.Message.Body, "<% VerifyURL %>",
> "http://www.test.com/VerifyAccount.aspx?key=" &
> tempMem.ProviderUserKey.ToString) ' Error occurs on this line
> 'Line below will work and replace the placeholder in the e-mail file
> 'e.Message.Body = e.Message.Body.Replace("<% VerifyURL %>",
> "http://www.test.com/VerifyAccount.aspx?key=123)
>
> End Sub Protected Sub CreateUserWizard1_SendingMail(ByVal sender As
> Object, ByVal e As System.Web.UI.WebControls.MailMessageEventArgs) Handles
> CreateUserWizard1.SendingMail
> Dim tempMem As MembershipUser =
> Membership.GetUser(CreateUserWizard1.UserName.ToSt ring)
> MsgBox(tempMem.ProviderUserKey.ToString) ' Will return error here
>
> 'Replace placeholder for the verification URL
> e.Message.Body = Replace(e.Message.Body, "<% VerifyURL %>",
> "http://www.test.com/VerifyAccount.aspx?key=" &
> tempMem.ProviderUserKey.ToString) ' Error occurs on this line
> 'Line below will work and replace the placeholder in the e-mail file
>
> 'e.Message.Body = e.Message.Body.Replace("<% VerifyURL %>",
> "http://www.test.com/VerifyAccount.aspx?key=123)
> End Sub



All times are GMT. The time now is 12:02 PM.

Powered by vBulletin®. Copyright ©2000 - 2013, vBulletin Solutions, Inc.
SEO by vBSEO ©2010, Crawlability, Inc.


1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57