.net MVC中forms验证的使用实例详解

这篇文章主要为大家详细介绍了.net mvc中使用forms验证的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

.net MVC中使用forms验证,供大家参考,具体内容如下

文件夹的分部是这样子的

.net MVC中forms验证的使用实例详解

首先在Web.config中设置

authentication和authorization 节点

                              

登录后复制

如果在Login文件夹还有不需要匿名访问,或者在LoginController中除了登陆还有方法可以匿名访问,

那么我们需要在加上这一个节点

                  

登录后复制

.net MVC中forms验证的使用实例详解

登陆的方法贴出一部分代码,仅供参考

 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(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 中  的 users 属性        DateTime.Now, //发布时间        expiration,//失效时间        true,//是否为持久 Cookie        user.UserId.ToString(), //用户数据:可用 ((System.Web.Security.FormsIdentity)(HttpContext.Current.User.Identity)).Ticket.UserData 获取        FormsAuthentication.FormsCookiePath //指定 Cookie 为 Web.config 中  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;    }    ///     /// 加密    ///     ///     ///     ///     ///     ///     ///     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 

登录后复制

以上就是.net MVC中forms验证的使用实例详解的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2493736.html

(0)
上一篇 2025年3月5日 01:37:32
下一篇 2025年2月24日 00:37:54

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • MongoDB在.Net中的使用方法详解

    最近在研究mongodb,在网上搜索发现针对.net 中使用mongodb的文章要么是早期的驱动版本,要么资料很少,所以写个随笔记录一下,本文详细的给大家介绍了在.net中使用mongodb的方法教程,需要的朋友可以参考借鉴,下面来一起看看…

    2025年3月5日
    200
  • .net验证后台页面是否登录实例教程

    这篇文章主要为大家详细介绍了.net后台页面统一验证是否登录的方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 本文实例为大家分享了.net后台页面统一验证是否登录的具体代码,供大家参考,具体内容如下 首先新写一个PageBase类 …

    编程技术 2025年3月5日
    200
  • C#多线程之Semaphore的使用详解

    这篇文章主要为大家详细介绍了c#多线程之semaphore用法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 Semaphore:可理解为允许线程执行信号的池子,池子中放入多少个信号就允许多少线程同时执行。 private static…

    编程技术 2025年3月5日
    200
  • C#如何连接到sql server2008数据库的示例分享

    这篇文章主要介绍了c#连接到sql server2008数据库的实例代码,需要的朋友可以参考下 废话不多说了,直接给大家贴代码了,具体代码如下所示: namespace MyFirstApp{  class Program  {    st…

    编程技术 2025年3月5日
    200
  • C#如何使用键值对取代Switch…Case语句的示例

    swich….case 条件分支多了之后,会严重的破坏程序的美观性。比如这个 上述代码是用于两个进程之间通信的代码,由于通信的枚举特别的多,所以case的分支特别的多。导致了代码的可读性,可维护性严重下降。经过查找资料和重构,想…

    2025年3月5日
    200
  • C#中关于Cookies的读取实例详解

    C#中Cookies的读取 链接: 一 、写入Cookie   1. Name 和 Value 属性由程序设定,默认值都是空引用。   2. Domain属性的默认值为当前URL的域名部分,不管发出这个cookie的页面在哪个目录下的。 D…

    编程技术 2025年3月5日
    200
  • C#异步之APM模式异步程序开发的示例分享

    c#已有10多年历史,单从微软2年一版的更新进度来看活力异常旺盛,c#中的异步编程也经历了多个版本的演化,从今天起着手写一个系列博文,记录一下c#中的异步编程的发展历程。广告一下:喜欢我文章的朋友,请点下面的“关注我”。谢谢 我是2004年…

    2025年3月5日
    200
  • C# Facade外观模式中天河城购物出现的问题解决

    这篇文章主要介绍了c#设计模式之facade外观模式解决天河城购物问题,简单描述了外观模式的定义并结合具体实例分析了外观模式解决购物问题的相关步骤与操作技巧,需要的朋友可以参考下 本文实例讲述了C#设计模式之Facade外观模式解决天河城购…

    2025年3月5日
    200
  • C#中Builder生成器模式解决配置电脑的问题详解

    这篇文章主要介绍了c#设计模式之builder生成器模式解决带老婆配置电脑问题,简单介绍了生成器模式的概念、功能并结合具体实例形式分析了c#生成器模式解决配电脑问题的步骤与相关操作技巧,需要的朋友可以参考下 本文实例讲述了C#设计模式之Bu…

    2025年3月5日
    200
  • C#中发送邮件的实现方法详解

    这篇文章主要为大家详细介绍了c#实现发送邮件的方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 本文实例为大家分享了Android九宫格图片展示的具体代码,供大家参考,具体内容如下 #region 发送邮件部分    private …

    编程技术 2025年3月5日
    200

发表回复

登录后才能评论