Maison >développement back-end >Tutoriel C#.Net >Une implémentation simple de l'authentification unique asp.net

Une implémentation simple de l'authentification unique asp.net

高洛峰
高洛峰original
2017-01-12 14:01:181504parcourir

Voici le rendu de la mise en œuvre :

一个简单的asp.net 单点登录实现

Tout d'abord, cliquez sur le lien de réservation de train dans l'image ci-dessus, il s'ouvrira http://Plateforme d'information étudiante Page Site Web/LoginToTrainSite.asa.

Le code approximatif de la page LoginToTrainSite.asa est le suivant :

<% 
Response.Buffer = True 
Response.ExpiresAbsolute = Now() - 1 
Response.Expires = 0 
Response.CacheControl = "no-cache" 
Response.AddHeader "Pragma", "No-Cache" 

//根据用户session获取用户名和密码 
%> 
<html> 
<body> 
<div style=&#39;display:none&#39;> 
<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"); //登录失败,用户名或密码错误 
} 
}

Enfin, une fois la page LoginFromOtherSite.aspx traitée, les deux sites Web sont connectés. Cependant, j'aimerais savoir dans quels cas il est dangereux d'utiliser cette méthode
Quels problèmes de sécurité peuvent survenir. J'espère que quelqu'un qui connaît pourra me le dire.

Pour plus d'articles sur une simple implémentation de l'authentification unique asp.net, veuillez faire attention au site Web PHP chinois !

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn