2

アカウントを作成した後にユーザーを自動ログインする方法

asp.net 3.5を使用し、認証から

コードは次のとおりです。

 <asp:CreateUserWizard ID="mainSignUp" runat="server" 
    CreateUserButtonText="SignUp" FinishDestinationPageUrl="copyPastPage.aspx"
     ContinueDestinationPageUrl="~/copyPastPage.aspx"
     OnCreatedUser="redirect" LoginCreatedUser="true">
    <CreateUserButtonStyle CssClass="signUpButton" />
    <TextBoxStyle BorderStyle="None" Height="35px" 
        Width="200px" />
    <WizardSteps>
        <asp:CreateUserWizardStep ID="CreateUserWizardStep1" runat="server" >
            <ContentTemplate>
                <table>
                    <tr>
                        <td align="right">
                            <asp:Label ID="UserNameLabel" runat="server" AssociatedControlID="UserName">User Name:</asp:Label>
                        </td>
                        <td>
                            <asp:TextBox ID="UserName" runat="server" BorderStyle="None" BorderWidth="1px" 
                                CssClass="signUpTextBox" Height="39px" Width="197px"></asp:TextBox>
                            <asp:RequiredFieldValidator ID="UserNameRequired" runat="server" 
                                ControlToValidate="UserName" ErrorMessage="User Name is required." 
                                ToolTip="User Name is required." ValidationGroup="mainSignUp">*</asp:RequiredFieldValidator>
                        </td>
                    </tr>
                    <tr>
                        <td align="right">
                            <asp:Label ID="PasswordLabel" runat="server" AssociatedControlID="Password">Password:</asp:Label>
                        </td>
                        <td>
                            <asp:TextBox ID="Password" runat="server" BorderStyle="None" BorderWidth="1px" 
                                CssClass="signUpTextBox" Height="39px" TextMode="Password" Width="197px"></asp:TextBox>
                            <asp:RequiredFieldValidator ID="PasswordRequired" runat="server" 
                                ControlToValidate="Password" ErrorMessage="Password is required." 
                                ToolTip="Password is required." ValidationGroup="mainSignUp">*</asp:RequiredFieldValidator>
                        </td>
                    </tr>
                    <tr>
                        <td align="right">
                            <asp:Label ID="ConfirmPasswordLabel" runat="server" 
                                AssociatedControlID="ConfirmPassword">Confirm Password:</asp:Label>
                        </td>
                        <td>
                            <asp:TextBox ID="ConfirmPassword" runat="server" BorderStyle="None" 
                                BorderWidth="1px" CssClass="signUpTextBox" Height="39px" TextMode="Password" 
                                Width="197px"></asp:TextBox>
                            <asp:RequiredFieldValidator ID="ConfirmPasswordRequired" runat="server" 
                                ControlToValidate="ConfirmPassword" 
                                ErrorMessage="Confirm Password is required." 
                                ToolTip="Confirm Password is required." ValidationGroup="mainSignUp">*</asp:RequiredFieldValidator>
                        </td>
                    </tr>
                    <tr>
                        <td align="right">
                            <asp:Label ID="EmailLabel" runat="server" AssociatedControlID="Email">E-mail:</asp:Label>
                        </td>
                        <td>
                            <asp:TextBox ID="Email" runat="server" BorderStyle="None" BorderWidth="1px" 
                                CssClass="signUpTextBox" Height="39px" Width="197px"></asp:TextBox>
                            <asp:RequiredFieldValidator ID="EmailRequired" runat="server" 
                                ControlToValidate="Email" ErrorMessage="E-mail is required." 
                                ToolTip="E-mail is required." ValidationGroup="mainSignUp">*</asp:RequiredFieldValidator>
                        </td>
                    </tr>
                    <tr>
                        <td align="right">
                            <asp:Label ID="QuestionLabel" runat="server" AssociatedControlID="Question">Security Question:</asp:Label>
                        </td>
                        <td>
                            <asp:TextBox ID="Question" runat="server" BorderStyle="None" BorderWidth="1px" 
                                CssClass="signUpTextBox" Height="39px" Width="197px"></asp:TextBox>
                            <asp:RequiredFieldValidator ID="QuestionRequired" runat="server" 
                                ControlToValidate="Question" ErrorMessage="Security question is required." 
                                ToolTip="Security question is required." ValidationGroup="mainSignUp">*</asp:RequiredFieldValidator>
                        </td>
                    </tr>
                    <tr>
                        <td align="right">
                            <asp:Label ID="AnswerLabel" runat="server" AssociatedControlID="Answer">Security Answer:</asp:Label>
                        </td>
                        <td>
                            <asp:TextBox ID="Answer" runat="server" BorderStyle="None" BorderWidth="1px" 
                                CssClass="signUpTextBox" Height="39px" Width="197px"></asp:TextBox>
                            <asp:RequiredFieldValidator ID="AnswerRequired" runat="server" 
                                ControlToValidate="Answer" ErrorMessage="Security answer is required." 
                                ToolTip="Security answer is required." ValidationGroup="mainSignUp">*</asp:RequiredFieldValidator>
                        </td>
                    </tr>
                    <tr>
                        <td align="center" colspan="2">
                            <asp:CompareValidator ID="PasswordCompare" runat="server" 
                                ControlToCompare="Password" ControlToValidate="ConfirmPassword" 
                                Display="Dynamic" 
                                ErrorMessage="The Password and Confirmation Password must match." 
                                ValidationGroup="mainSignUp"></asp:CompareValidator>
                        </td>
                    </tr>
                    <tr>
                        <td align="center" colspan="2" style="color:Red;">
                            <asp:Literal ID="ErrorMessage" runat="server" EnableViewState="False"></asp:Literal>
                        </td>
                    </tr>
                </table>
            </ContentTemplate>
        </asp:CreateUserWizardStep>
        <asp:CompleteWizardStep ID="CompleteWizardStep1" runat="server" />
    </WizardSteps>
</asp:CreateUserWizard>

および背後にあるコード:

public partial class Default3 : System.Web.UI.Page

{ protected void Page_Load(オブジェクト送信者, EventArgs e) { }

protected void redirect(object sender, EventArgs e) 
{

    FormsAuthentication.SetAuthCookie(USER_NAME, true);
    Response.Redirect("copyPastPage.aspx");
}

}

前もって感謝します

4

3 に答える 3

1
FormsAuthentication.RedirectFromLoginPage(mainSignUp.UserName, true);

上記の行をリダイレクト メソッド内に配置し、これらの 2 行を削除して、それが役立つかどうかをお知らせください

于 2011-04-11T13:21:20.597 に答える
0

After a successfull Signup, just use this line:

FormsAuthentication.SetAuthCookie(USER_NAME, true);

the true at the end means (from official documentation):

true to create a persistent cookie (one that is saved across browser sessions); otherwise, false.

于 2011-04-10T20:18:25.207 に答える
0

ユーザー登録に CreateUserWizard コントロールを使用している場合は、プロパティ LoginCreatedUser を true に設定して、登録完了後にユーザーを自動的にログインさせることができます。

于 2011-04-11T09:17:54.550 に答える