1

タイトルが示すように、ユーザーが登録時に指定した電子メールを使用してサインインできるようにする方法.

asp 3.5 を使用すると、ログインとサインアップの両方がビジュアルスタジオに組み込まれています。

秘密の質問と答えを削除する方法もあります。

ありがとう

4

2 に答える 2

0

これに対する私の最も簡単で効果的な回避策は、次のことを行うことでした。

1-ユーザー名フィールドのラベルの名前をEメールに変更します:(ユーザーにはEメールが表示されますが、実際にはASP.NETメンバーシップが保存するユーザー名です)。

2-保存する必要のある追加情報と一緒に通常どおりエントリを保存します

3-これで、ユーザーは提供された電子メールを使用してログインするように強制されます

4-笑顔:)

于 2011-04-13T09:29:08.520 に答える
0

フォーム認証を探していると思います。グーグルにはたくさんの指示があります。または、こちらを参照してください: http://msdn.microsoft.com/en-us/library/system.web.security.formsauthentication.aspx

コントロールのログイン クリック イベントを認証ロジックに接続する必要があります。

    protected void Login_Click(object sender, EventArgs e)
    {  
        // your logic here 
    }

また、次のようなコードを Global.asax.cs に入力して、ユーザーの認証済みセッションを表す認証チケット (Cookie) を作成する必要があります。

    protected void Application_AuthenticateRequest(object sender, EventArgs e)
    {
        String cookieName = FormsAuthentication.FormsCookieName;
        HttpCookie authCookie = Context.Request.Cookies[cookieName];

        if (null == authCookie)
        {//There is no authentication cookie.
            return;
        }

        FormsAuthenticationTicket authTicket = null;

        try
        {
            authTicket = FormsAuthentication.Decrypt(authCookie.Value);
        }
        catch (Exception ex)
        {
            //Write the exception to the Event Log.
            return;
        }

        if (null == authTicket)
        {//Cookie failed to decrypt.
            return;
        }

        //When the ticket was created, the UserData property was assigned a
        //pipe-delimited string of group names.
        String[] groups = authTicket.UserData.Split(new char[] { '|' });

        //Create an Identity.
        GenericIdentity id = new GenericIdentity(authTicket.Name, "LdapAuthentication");

        //This principal flows throughout the request.
        GenericPrincipal principal = new GenericPrincipal(id, groups);

        Context.User = principal;
    }

認証のロジックを含めるには、「IsAuthenticted」ブール値メソッドも必要です。あなたの場合、電子メールアドレスをどこかに保存し、認証ロジックをそのソースに向ける必要があります。

于 2011-04-12T21:53:09.227 に答える