我是 .NET 新手,一直在搜索这个问题,但没有成功。我创建了一个登录页面,其中包含用户 ID 和密码。在我的 webconfig 中,我添加了以下代码来拒绝未经身份验证的用户。
<authentication mode="Forms">
<forms loginUrl="Login.aspx" timeout="10" protection="All" />
</authentication>
<authorization>
<deny users="?"></deny>
</authorization>
我想要完成的是,当用户输入正确的信息时,我想在 cookie 中存储有关用户的小信息,例如是否有管理员、经理、用户等...这里是用户单击提交按钮时发生的代码。问题是用户输入正确信息后页面没有重定向到该页面。任何帮助将非常感激。
If txtPassword.Text.ToLower = "test" Then
'Create a cookie
Dim cookie As New HttpCookie("UserInfo")
'Cookie variables
cookie("User") = txtUser.Text
cookie("UserGroup") = "Admin"
'Add Cookies to current web responses
Response.Cookies.Add(cookie)
Response.Redirect("login_successful.aspx")
'FormsAuthentication.RedirectToLoginPage("login_successful.aspx")
Else
lblResult.Text = "Incorrect Password"
End If
最佳答案
我不建议使用 cookie 来存储角色信息。使用内置提供程序之一来完成此任务。例如,试试这个。
打开 Visual Studio 或 Visual Studio Express 并创建一个新的“ASP.NET Web 应用程序”。您会注意到它包含一个“帐户”目录,其中包含如何使用内置提供程序的示例。您必须使用正确的表、角色、存储过程等设置数据库才能使用内置提供程序,但这很容易。如果您安装了 .NET 4.0 程序,该程序将数据库设置为使用内置提供程序,该程序称为 aspnet_regsql.exe,通常位于此处:
C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\aspnet_regsql.exe
然后,为了解决您的登录问题,您可以使用登录控件并使用 Login.DestinationPageUrl 属性将用户在登录后重定向到您想要的页面。
即使您不使用内置提供程序,这也会让您更好地了解如何在网页中实现角色。
关于asp.net - vb.net 中的登录页面帮助,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7262071/