2016-02-11 61 views
1

我想,如果他們沒有登錄的任何用戶受到限制限制用戶。 想,如果他們試圖通過粘貼他們仍然被重定向到登錄頁面的鏈接訪問任何頁面。訪問任何網頁,而不登錄

LoginPage

protected void Page_Load(object sender, EventArgs e) 
{ 
    SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["dbconnection"].ConnectionString); 
    con.Open(); 

    SqlCommand cmd = new SqlCommand("select * from Employee where UName [email protected] and [email protected]", con); 
    cmd.Parameters.AddWithValue("@username", UName.Text); 
    cmd.Parameters.AddWithValue("@password", UPassword.Text); 

    SqlDataAdapter da = new SqlDataAdapter(cmd); 
    DataTable dt = new DataTable(); 
    da.Fill(dt); 
    if (dt.Rows.Count > 0) 
    { 
     Response.Redirect("Details.aspx"); 
    } 
} 

回答

1

我想用<allow>web.config可以幫助你:

<!--Deny access for 'images' folder--> 
<location path="images"> 
    <system.web> 
    <authorization> 
     <allow users="?"/> <!--A question mark (?) denies anonymous users--> 
    </authorization> 
    </system.web> 
</location> 

<!--Will deny anonymous users for all pages--> 
<system.web> 
    <authorization> 
    <deny users="?"/> 
    </authorization> 
</system.web> 

更多在這裏:https://msdn.microsoft.com/en-us/library/acsd09b0(v=vs.85).aspx

+0

我不想限制每個文件夾分開。 –

+0

所以你可以使用第二個片段(所有頁面都用'')。 – feeeper

+0

我如何知道用戶已通過身份驗證?沒有會議 –

1

您可以通過ASP會話實現它.net:

包括下面的命名空間:

用戶像如下

登錄頁面登錄成功之後創建一個會話。其中要保護應該有這個如下每一頁

SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["dbconnection"].ConnectionString); 
    con.Open(); 

    SqlCommand cmd = new SqlCommand("select * from Employee where UName [email protected] and [email protected]", con); 
    cmd.Parameters.AddWithValue("@username", UName.Text); 
    cmd.Parameters.AddWithValue("@password", UPassword.Text); 

    //Blah,Blah,Blah... 
if(user=authenticated user) //your condition goes here 
    { 
     session["Sid"]=Session.SessionID; 
     //Blah,Blah,Blah... 
    } 

現在:

using System.Web.SessionState;

用戶後輸入的用戶名和密碼

protected void Page_Load(object sender, EventArgs e) 
     { 
      if (Session["Sid"] == null) 
      { 
       Response.Redirect("Login.aspx"); 

      } 
     } 

網絡。配置

<sessionState mode="InProc" stateConnectionString="tcpip=127.0.0.1:42424" sqlConnectionString="data source=127.0.0.1;Trusted_Connection=yes" cookieless="false" timeout="120" /> 

我希望這可以幫助...

+0

燁感謝@Sankar拉吉 –

+0

很樂意幫助你:) – Sankar

+0

這是在asp.net傳統的方法是什麼?任何其他好的方法,沒有會議? – Sak