Maison >développement back-end >Tutoriel C#.Net >Partager un exemple de code pour utiliser la vérification des formulaires dans .net MVC
Cet article présente principalement en détail les informations pertinentes sur l'utilisation de la vérification des formulaires dans .net MVC. Il a une certaine valeur de référence. Les amis intéressés peuvent se référer à
L'utilisation des formulaires dans la vérification .net MVC. , pour votre référence, le contenu spécifique est le suivant
Les divisions du dossier ressemblent à ceci
Premier défini dans Web.config
Nœud d'authentification et d'autorisation
<system.web> <authentication mode="Forms"> <forms loginUrl="~/Login/Index" timeout="2880" defaultUrl="~/Home/Index"/> </authentication> <anonymousIdentification enabled="true"/> <authorization> <deny users="?"/> <!--拒绝匿名访问--> </authorization> <compilation debug="true" targetFramework="4.5" /> <httpRuntime targetFramework="4.5" /> <httpModules> <add name="ApplicationInsightsWebTracking" type="Microsoft.ApplicationInsights.Web.ApplicationInsightsHttpModule, Microsoft.AI.Web" /> </httpModules> </system.web>
S'il n'y a pas besoin d'un accès anonyme dans le dossier de connexion, ou s'il existe un moyen d'accéder anonymement au LoginController en plus de la connexion,
Ensuite, nous devons ajouter ce nœud
<location path="Login"> <!--这里的意思就是LoginController下的方法可以匿名访问--> <system.web> <authorization> <allow users="*" /> <!--允许匿名访问--> </authorization> </system.web> </location>
et publier une partie du code pour la méthode de connexion, pour référence uniquement
public bool ValidateUser(LoginVO model) { string encodePassword = MD5(model.PassWord);//加密 string sql = "select * from User_Users where (UserName=@UserName or JobNumber=@JobNumber) and PassWord=@PassWord"; var user = Context.Data.Query<UsersPO>(sql, new {UserName = model.LoginName, JobNumber = model.LoginName, PassWord = encodePassword}).SingleOrDefault(); if (user == null) return false; DateTime expiration = model.IsRememberLogin //是否记住密码 ? DateTime.Now.AddDays(14) : DateTime.Now.Add(FormsAuthentication.Timeout); var ticket=new FormsAuthenticationTicket( 1,//指定版本号:可随意指定 user.UserName,//登录用户名:对应 Web.config 中 <allow users="Admin" … /> 的 users 属性 DateTime.Now, //发布时间 expiration,//失效时间 true,//是否为持久 Cookie user.UserId.ToString(), //用户数据:可用 ((System.Web.Security.FormsIdentity)(HttpContext.Current.User.Identity)).Ticket.UserData 获取 FormsAuthentication.FormsCookiePath //指定 Cookie 为 Web.config 中 <forms path="/" … /> path 属性,不指定则默认为“/” ); var encryptedTicket = FormsAuthentication.Encrypt(ticket); if (HttpContext.Current.Request.Cookies[FormsAuthentication.FormsCookieName] != null) { HttpContext.Current.Request.Cookies.Remove(FormsAuthentication.FormsCookieName); } var loginIdentify=new HttpCookie(FormsAuthentication.FormsCookieName); if (model.IsRememberLogin) { loginIdentify.Expires = DateTime.Now.AddDays(7); } loginIdentify.Value = encryptedTicket; HttpContext.Current.Response.AppendCookie(loginIdentify);//添加Cookie return true; } /// <summary> /// 加密 /// </summary> /// <param name="str"></param> /// <param name="encoding"></param> /// <param name="toUpper"></param> /// <param name="isReverse"></param> /// <param name="count"></param> /// <returns></returns> private string MD5(string str, Encoding encoding=null, int count = 1) { if (encoding == null) { encoding = Encoding.Default; } var bytes = new MD5CryptoServiceProvider().ComputeHash(encoding.GetBytes(str)); var md5 = string.Empty; for (int i = 0; i < bytes.Length; i++) { md5 += bytes[i].ToString("x").PadLeft(2, '0'); } if (count <= 1) { return md5; } return MD5(md5, encoding, --count); }
[Recommandations associées]
1. Code de vérification graphique .Net Core
2 Chargement du fichier de configuration .NET Core et Données de configuration d'injection DI
3. Documentation de l'outil CLI .NET Core dotnet-publish
4 Introduction détaillée à ZKEACMS pour .Net Core<.>
5.Comment faire une requête http sous .net core ?
6.Tutoriel d'instance d'exécution de ZKEACMS sur CentOS
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!