1

私はすでにビルドされ、正常に動作しているプロジェクトに取り組んでいます.今私がする必要があるのは、salt でパスワードを暗号化することです.通常、これとすべてを行うことができますが、コントロール asp:Login がどこにあるのかを確認するのに苦労しています.ユーザー名とパスワード。プロジェクト全体を検索しましたが、ユーザー名とパスワードがデータベースから取得される場所と、それが正しいかどうかを確認する場所の詳細を見つけることができません。マークアップは次のとおりです。

   <asp:Login ID="LoginUser" runat="server" EnableViewState="False" RenderOuterTable="False" OnLoggingIn="LoginUser_LoggingIn">
    <LayoutTemplate>
        <div class="accountInfo">
            <fieldset class="Login">
                <p>
                    <asp:Label ID="UserNameLabel" runat="server" AssociatedControlID="UserName" CssClass="text"></asp:Label>
                    <asp:TextBox ID="UserName" runat="server" CssClass="textEntry"></asp:TextBox>
                    <asp:RequiredFieldValidator ID="UserNameRequired" runat="server" ControlToValidate="UserName"
                        CssClass="failureNotification" ErrorMessage="User Name is required." ToolTip="User Name is required."
                        ValidationGroup="LoginUserValidationGroup">*</asp:RequiredFieldValidator>
                </p>
                <p>
                    <asp:Label ID="PasswordLabel" runat="server" AssociatedControlID="Password" CssClass="text"></asp:Label>
                    <asp:TextBox ID="Password" runat="server" CssClass="passwordEntry" TextMode="Password"></asp:TextBox>
                    <asp:RequiredFieldValidator ID="PasswordRequired" runat="server" ControlToValidate="Password"
                        CssClass="failureNotification" ErrorMessage="Password is required." ToolTip="Password is required."
                        ValidationGroup="LoginUserValidationGroup">*</asp:RequiredFieldValidator>
                </p>
            </fieldset>
            <span class="error">
                <asp:Literal ID="FailureText" runat="server"></asp:Literal>
            </span>
            <asp:ValidationSummary ID="LoginUserValidationSummary" runat="server" CssClass="error"
                ValidationGroup="LoginUserValidationGroup" />
            <p class="submitButton">
                <asp:Button CssClass="submitButton" ID="LoginButton" runat="server" CommandName="Login"
                    ValidationGroup="LoginUserValidationGroup" Text="d" OnClick="LoginButton_Click" />
            </p>
        </div>
    </LayoutTemplate>
</asp:Login>

コードビハインドは次のとおりです。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using mycompany.BaseCode;
using System.Threading;

namespace mycompany.Account
{
    public partial class Login : BasePage
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            //RegisterHyperLink.NavigateUrl = "Register.aspx?ReturnUrl=" + HttpUtility.UrlEncode(Request.QueryString["ReturnUrl"]);
        Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo(SessionManager.Culture);

        lblLoginTitle.Text = Resources.Login.LoginTitle;
        lblExtraInfo.Text = Resources.Login.ExtraInfo;

        var llb = (Label)LoginUser.FindControl("UserNameLabel");
        llb.Text = Resources.Login.Username;
        llb = (Label)LoginUser.FindControl("PasswordLabel");
        llb.Text = Resources.Login.Password;

        LoginUser.FailureText = Resources.Login.FailureText;

        var rfv = (RequiredFieldValidator)LoginUser.FindControl("PasswordRequired");
        rfv.ErrorMessage = Resources.Login.PasswordRequired;
        rfv = (RequiredFieldValidator)LoginUser.FindControl("UserNameRequired");
        rfv.ErrorMessage = Resources.Login.UsernameRequired;

        var btn = (Button)LoginUser.FindControl("LoginButton");
        btn.Text = Resources.Login.btnLogin;

    }
}
}

OnLoggingIn="LoginUser_LoggingIn" または OnClick="LoginButton_Click" イベントはどこにもありません。基本コードも調べました。面白いことに、それは機能しています。これらの隠された詳細を見つける場所の説明やヒントは、深く感謝されます

4

1 に答える 1

1

MembershipProviderイベント ハンドラーがない場合は、web.config で構成された既定値が使用されます。

を構成していない場合はMembershipProvider、少なくともLogin.Authenticateイベントを処理する必要があると思います。

于 2012-09-27T07:34:49.290 に答える