嘿,伙计们,我有一个问题。
你们中的任何人都知道如何使用直接网址示例中的保护页面 http://yoururlhere/administration/edit.aspx。您可以在此处编辑来自留言簿的某些消息 但它需要得到保护。我已经有了,但是如果你直接将它输入你的地址栏,它会给你带来帮助。那很糟。顺便说说我正在学习ASP.NET :) 这是我的代码。
protected void Button1_Click(object sender, EventArgs e)
{
try
{
string cnnString = ConfigurationManager.ConnectionStrings["Stefan"].ConnectionString;
using (SqlConnection con = new SqlConnection(cnnString))
using (SqlCommand cmd = new SqlCommand("select [Username],[Password] from Admin where [Username] = @Username and [Password] = @Password", con))
{
string Username = (textUsername.Text.Length > 0) ? textUsername.Text : null;
string Password = (TextPassword.Text.Length > 0) ? TextPassword.Text : null;
cmd.Parameters.Add("@Username", System.Data.SqlDbType.VarChar).Value = textUsername.Text;
cmd.Parameters.Add("@Password", System.Data.SqlDbType.VarChar).Value = TextPassword.Text;
con.Open();
using (SqlDataReader dr = cmd.ExecuteReader())
{
if (dr.Read())
if (Page.IsValid)
{
答案 0 :(得分:0)
查看基于表单的身份验证,这将解决此问题。如果您在VS2010中设置了一个新的MVC / Webform项目,您将找到一个预先配置的示例。
答案 1 :(得分:0)
是。首先,您应该使用ASP.NET Membership和Roles系统来控制对您不希望未经授权的用户访问的页面的访问。
请尝试从这里开始:
其次,如果您想阻止用户直接到达页面(即使他们被授权正常访问页面),那么您需要添加某种类型的测试,例如设置会话变量和检查它在你需要测试的页面的OnLoad中。