一個簡單的asp.net 單點登入實現

來源:互聯網
上載者:User
以下是實現的:

首先的點擊火車訂票連結,就會開啟http://學生資訊平台網站/LoginToTrainSite.asa頁面。

LoginToTrainSite.asa頁面的大致代碼如下:

<% Response.Buffer = True Response.ExpiresAbsolute = Now() - 1 Response.Expires = 0 Response.CacheControl = "no-cache" Response.AddHeader "Pragma", "No-Cache" //根據使用者session擷取使用者名稱和密碼 %> <html> <body> <div style='display:none'> <form name="myForm" method="post" action="http://火車訂票網站/LoginFromOtherSite.aspx"> <input type="hidden" name="UserName" value="<%=userName%>" /> <input type="hidden" name="UserPwd" value="<%=userPwd%>" /> </form> </div> </body> </html> <script language="javascript"> myForm.submit(); </script> LoginFromOtherSite.aspx.cs頁面的代碼大致如下: using (SqlConnection conn = new SqlConnection(SqlHelper.StudentConnectionString)) { string sql = "select t_stuUser.ID, t_stuUser.stuNumber, t_stuUser.userPassword, t_stuUser.realName, v_stuUser.className, v_stuUser.departmentName " + "from t_stuUser,v_stuUser where t_stuUser.stuNumber=@UserName and t_stuUser.userPassword=@UserPwd and v_stuUser.stuNumber=@UserName"; SqlCommand cmd = new SqlCommand(sql, conn); SqlParameter pUserName = cmd.Parameters.Add("@UserName", SqlDbType.VarChar, 30); SqlParameter pUserPwd = cmd.Parameters.Add("@UserPwd", SqlDbType.VarChar, 150); pUserName.Value = Request.Form["UserName"]; pUserPwd.Value = Request.Form["UserPwd"]; conn.Open(); SqlDataReader sdr = cmd.ExecuteReader(CommandBehavior.CloseConnection); if (sdr.Read()) { Session["UserID"] = Convert.ToString(sdr["ID"]); Session["StuName"] = Convert.ToString(sdr["realName"]); Session["StuNumber"] = Convert.ToString(sdr["stuNumber"]); Session["Academe"] = Convert.ToString(sdr["departmentName"]); Session["ClassName"] = Convert.ToString(sdr["className"]); Response.Redirect("MyOrder.aspx"); // 登入成功 } else { Response.Redirect("Default.aspx"); //登入失敗,使用者名稱或密碼錯誤 } }

最後LoginFromOtherSite.aspx頁面處理完兩個網站都是使用者處於登入狀態了。不過我想知道用這種方法哪裡不安全,
可能會產生什麼安全問題,希望有知道的朋友能告訴我下。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.