自动化ASP.通过自动填充凭据.NET登录表单

本文关键字:NET 登录 表单 填充 ASP 自动化 | 更新日期: 2023-09-27 18:02:51

我有一个现有的登录。当用户手动填充他们的登录凭据并提交它们时,该Aspx页面工作。

我想创建这个表单的另一个版本的"试用"目的,自动填充用户名和密码文本框字段值。我想使这些文本框控件隐藏。所以用户只需点击登录按钮,它使用自动填充的值,并让用户登录。

我如何转换现有的代码来做到这一点?

下面是包含用户名和密码两个文本框控件的代码:

<asp:Label ID="UserNameLabel" runat="server" AssociatedControlID="UserName"
Text="Username">
</asp:Label>
<asp:TextBox ID="UserName" runat="server"></asp:TextBox>
<asp:CustomValidator ID="UserNameRequired" ValidateEmptyText="True"
OnServerValidate="ValidateUserName" ClientValidationFunction=""
runat="server" ControlToValidate="UserName"
ErrorMessage="<%$ resources: UserNameRequired %>" 
ToolTip="<%$ resources: UserNameRequired %>" ValidationGroup="sLogin"
Text="<%$ resources: asterisk %>">
</asp:CustomValidator>
<asp:Label ID="PasswordLabel" runat="server" AssociatedControlID="Password"
Text="<%$ resources: Password %>" Style="margin-top: 5px;"></asp:Label>
<asp:TextBox ID="Password" runat="server" CssClass="editCtl"
TextMode="Password" AutoComplete="off"></asp:TextBox>

我意识到我可以像这样简单地将值直接添加到页面中:

<asp:TextBox ID="UserName" runat="server" Text="user1" style="display:none;"></asp:TextBox>
<asp:TextBox ID="Password" runat="server" CssClass="editCtl" AutoComplete="off" Text="password1" style="display:none;"></asp:TextBox>
然而,我想真正的问题是我如何以更安全的方式调用这些值?

自动化ASP.通过自动填充凭据.NET登录表单

从你的OP我做了以下假设:你有两个登录页面,一个用于普通用户,一个用于试用用户。为了共享逻辑,这两个. aspx页面在页面后面共享相同的代码。这导致试用版登录页面需要提供用户名和密码而不需要用户输入,并且您不希望用户可以很容易地看到这些内容。

您可以使用第二个提交按钮进行试用登录。在正常页面上,试用提交按钮将被隐藏,在试用页面上,用户名,密码和正常提交被隐藏。

重构页面后面的代码,使登录逻辑在一个单独的方法中。对于普通的登录页面,从UI控件获取用户名和密码并调用该方法。在试用按钮中,单击使用硬编码值,或者更好的配置值,并调用该方法。

如何存储数据,将其编码为cookie,并在此cookie存在时填充输入值?

c#

Response.Cookies["userName"].Value = "patrick";
Response.Cookies["userName"].Expires = DateTime.Now.AddDays(1);

VB

Response.Cookies("userName").Value = "patrick"
Response.Cookies("userName").Expires = DateTime.Now.AddDays(1)