


Detailed explanation of usage examples of forms validation in .net MVC
这篇文章主要为大家详细介绍了.net MVC中使用forms验证的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
.net MVC中使用forms验证,供大家参考,具体内容如下
文件夹的分部是这样子的
首先在Web.config中设置
authentication和authorization 节点
<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>
如果在Login文件夹还有不需要匿名访问,或者在LoginController中除了登陆还有方法可以匿名访问,
那么我们需要在加上这一个节点
<location path="Login"> <!--这里的意思就是LoginController下的方法可以匿名访问--> <system.web> <authorization> <allow users="*" /> <!--允许匿名访问--> </authorization> </system.web> </location>
登陆的方法贴出一部分代码,仅供参考
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); }
The above is the detailed content of Detailed explanation of usage examples of forms validation in .net MVC. For more information, please follow other related articles on the PHP Chinese website!

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics



Support Vector Machine (SVM) in Python is a powerful supervised learning algorithm that can be used to solve classification and regression problems. SVM performs well when dealing with high-dimensional data and non-linear problems, and is widely used in data mining, image classification, text classification, bioinformatics and other fields. In this article, we will introduce an example of using SVM for classification in Python. We will use the SVM model from the scikit-learn library

Whether you are a beginner or an experienced professional, mastering C# will pave the way for your career.

The development of artificial intelligence (AI) technologies is in full swing today, and they have shown great potential and influence in various fields. Today Dayao will share with you 4 .NET open source AI model LLM related project frameworks, hoping to provide you with some reference. https://github.com/YSGStudyHards/DotNetGuide/blob/main/docs/DotNet/DotNetProjectPicks.mdSemanticKernelSemanticKernel is an open source software development kit (SDK) designed to integrate large language models (LLM) such as OpenAI, Azure

As the new generation of front-end frameworks continues to emerge, VUE3 is loved as a fast, flexible, and easy-to-use front-end framework. Next, let's learn the basics of VUE3 and make a simple video player. 1. Install VUE3 First, we need to install VUE3 locally. Open the command line tool and execute the following command: npminstallvue@next Then, create a new HTML file and introduce VUE3: <!doctypehtml>

Golang is a powerful and efficient programming language that can be used to develop various applications and services. In Golang, pointers are a very important concept, which can help us operate data more flexibly and efficiently. Pointer conversion refers to the process of pointer operations between different types. This article will use specific examples to learn the best practices of pointer conversion in Golang. 1. Basic concepts In Golang, each variable has an address, and the address is the location of the variable in memory.

VAE is a generative model, its full name is VariationalAutoencoder, which is translated into Chinese as variational autoencoder. It is an unsupervised learning algorithm that can be used to generate new data, such as images, audio, text, etc. Compared with ordinary autoencoders, VAEs are more flexible and powerful and can generate more complex and realistic data. Python is one of the most widely used programming languages and one of the main tools for deep learning. In Python, there are many excellent machine learning and deep

The relationship between the number of Oracle instances and database performance Oracle database is one of the well-known relational database management systems in the industry and is widely used in enterprise-level data storage and management. In Oracle database, instance is a very important concept. Instance refers to the running environment of Oracle database in memory. Each instance has an independent memory structure and background process, which is used to process user requests and manage database operations. The number of instances has an important impact on the performance and stability of Oracle database.

With the rapid development of the Internet, data has become one of the most important resources in today's information age. As a technology that automatically obtains and processes network data, web crawlers are attracting more and more attention and application. This article will introduce how to use PHP to develop a simple web crawler and realize the function of automatically obtaining network data. 1. Overview of Web Crawler Web crawler is a technology that automatically obtains and processes network resources. Its main working process is to simulate browser behavior, automatically access specified URL addresses and extract all information.
