2017-04-17 2 views
2

Wie verhindere ich, dass ASP.NET/C# TextBox-Felder für Benutzername und Kennwort in Chrome vorbelegt werden, auch wenn Google Smart Lock sie gespeichert hat.So deaktivieren Sie die automatische Vervollständigung und verhindern die Vorbelegung eines Felds

Ich kann in die Google-Einstellungen gehen und sie löschen, aber beim nächsten Login werde ich erneut aufgefordert, das Passwort für diese Seite zu speichern. Ich kann nicht verhindern, dass meine anderen Benutzer auf dieser Site ihre Passwörter speichern, wenn sie dazu aufgefordert werden.

Ich weiß, es gibt viele ähnliche Fragen, aber keine scheint für mich zu arbeiten. Ich habe versucht (unter anderem):

  1. zur automatischen Vervollständigung Einstellung = "off" Attribut in meinem TextBox
  2. Einstellung autocompletetype = "Disabled" Attribut in meinem TextBox
  3. Dieses: https://stackoverflow.com/a/36904814/4241820

Meine Die Website der Bank kann verhindern, dass das Passwort gespeichert oder vorgefüllt wird. Wie ist das gemacht?

UPDATE: Dies ist der Code von meiner Seite Login.aspx:

<%@ Page Title="" Language="C#" MasterPageFile="./MyMasterPage.Master" AutoEventWireup="true" CodeBehind="Login.aspx.cs" Inherits="MyApp.Login" %> 

<asp:Content ID="Content1" ContentPlaceHolderID="head" runat="server"> 
</asp:Content> 
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="server"> 
    <table style="width: 294px; margin-left: auto; margin-right: auto; margin-top: 80px; margin-bottom: auto; border: none; border-collapse: collapse;"> 
     <tr style="background-color: #FFFFFF;"> 
      <td style="text-align: center;"> 
       <br /> 
       <img src="Images/AppLogo.png" alt="Application Logo" /> 
      </td> 
     </tr> 
     <tr> 
      <td style="background-color: #FFFFFF; text-align: center;"> 
       <asp:PlaceHolder runat="server" ID="LoginStatus" Visible="false"> 
        <p> 
         <asp:Label ID="lblStatus" CssClass="lblSkin" runat="server" /> 
        </p> 
       </asp:PlaceHolder> 
       <asp:PlaceHolder runat="server" ID="LoginForm" Visible="false"> 
        <br /> 
        <asp:Label ID="lblTitle" CssClass="lblSkinLarge" runat="server" /><br /> 
        <br /> 
        <div style="margin-bottom: 10px"> 
         <input style="display: none" type="text" name="fakeusername" /> 
         <asp:Label Text="Username" CssClass="lblSkin" AssociatedControlID="UserName" runat="server" /><br /> 
         <asp:TextBox runat="server" ID="UserName" Width="244px" autocomplete="off" AutoCompleteType="Disabled" /> 
        </div> 
        <div style="margin-bottom: 10px"> 
         <input style="display: none" type="password" name="fakepassword" /> 
         <asp:Label Text="Password" AssociatedControlID="Password" CssClass="lblSkin" runat="server" /><br /> 
         <asp:TextBox runat="server" ID="Password" TextMode="Password" Width="244px" autocomplete="off" /> 
        </div> 
        <div style="margin-bottom: 10px"> 
         <div> 
          <asp:ImageButton AlternateText="Login" ImageUrl="~/Images/btnLogin.jpg" OnClick="SignIn" runat="server" /> 
          <br /> 
          <asp:HyperLink ID="lnkForgotPassword" CssClass="lblSkin" NavigateUrl="Login_ResetPassword.aspx" Text="Forgot password" runat="server" /> 
         </div> 
        </div> 
       </asp:PlaceHolder> 
       <asp:PlaceHolder runat="server" ID="LogoutButton" Visible="false"> 
        <div> 
         <div> 
          <asp:Button runat="server" OnClick="SignOut" Text="Log out" /> 
         </div> 
        </div> 
       </asp:PlaceHolder> 
      </td> 
     </tr> 
    </table> 
</asp:Content> 

Antwort

1

haben wir die gleiche Situation wie dieser, aber ich folgte Ansatz folgend diese Situation in Ihrem

In der neuen Seite zu überwinden Mark vor Ihrer txtInsuredPassword versuchen, diesen Eingabetyp zu halten, damit Ihr Problem

<input style="display: none" type="text" name="fakeusername" /> 
    <input style="display: none" type="password" name="fakepassword" /> 

versuchen Sie, diese Mårup über die tatsächlichen Benutzername gelöst werden und Kennwort

+0

Danke für Ihren Vorschlag. Ich habe das versucht, aber der vorgefüllte Benutzername und das Passwort erscheinen immer noch. – Windhoek

+0

@Windhoek können Sie den Code teilen, wie Sie es hinzugefügt haben? – Webruster

+0

hier ist es: '


' – Windhoek

2

Legen Sie nicht autocomplete="off" auf Textfeld, sondern auf das Formular, wo es platziert ist.

<form id="form1" runat="server" autocomplete="off">

+1

Diese Lösung funktioniert. –

+0

Danke für Ihre Antwort. Ich habe autocomplete = "off" zum "form" auf der Masterseite hinzugefügt (die das Textfeld umschließt). Aber wenn ich die Seite lade, erscheint immer noch der vorgefüllte Benutzername. – Windhoek

+0

@Windhoek Ich weiß nicht, warum es immer noch erscheint, aber einen Vorschlag, verwenden Sie nicht die gleiche Masterseite für Login und andere Seiten. Es ist problematisch, wenn Sie Auth verwandte Sachen als gemeinsame App in Master-Seite tun. – Imad

Verwandte Themen