.net SSO单点登录mvc
来源:互联网 发布:ubuntu删除图形界面 编辑:程序博客网 时间:2024/06/05 15:48
单点登录(Single Sign On),简称为 SSO,单点登录怎么理解了,就是一个地方登录.
什么一个地方登录了,所有的系统只有一个地方登录?
登录一次就可以使用所有的系统.
最经典的案列就是阿里巴巴的账号体系了.
如果你仔淘宝登录了,天猫,聚划算就不要登录了,支付宝好像也不要登录了.
就相当于皇帝给你个令牌,三宫六院随你逛.
单点登录就是解决登录来,登录去的麻烦.
程序开发也只要维护一个表就好了.
说起来简单,做起来还是不简单,如果没有源码的话.
多说无益,上百科普及下知识.
上代码
单点登录,最核心的地方还是登录.
/// <summary> /// 登录验证 /// </summary> /// <param name="system">系统</param> /// <param name="account">账户</param> /// <param name="password">密码</param> /// <returns></returns> [HttpGet] public HttpResponseMessage CheckLogin(string system, string account, string password) { LogEntity logEntity = new LogEntity(); logEntity.CategoryId = 1; logEntity.OperateTypeId = ((int)OperationType.Login).ToString(); logEntity.OperateType = EnumAttribute.GetDescription(OperationType.Login); logEntity.OperateAccount = account; logEntity.OperateUserId = account; logEntity.Module = system; try { //验证账户 UserEntity userEntity = new UserBLL().CheckLogin(account, password); //生成票据 var ticket = Guid.NewGuid().ToString(); //写入票据 CacheFactory.Cache().WriteCache(userEntity, ticket, DateTime.Now.AddHours(8)); //写入日志 logEntity.ExecuteResult = 1; logEntity.ExecuteResultJson = "登录成功"; logEntity.WriteLog(); return Success("登录成功", ticket); } catch (Exception ex) { logEntity.ExecuteResult = -1; logEntity.ExecuteResultJson = ex.Message; logEntity.WriteLog(); return Error(ex.Message); } }
楼上代码大致意思就是,登录的时候传入基本的信息进行验证.
如果登录成功了保留关键步骤,生成一个票据.没成功的话自己想怎么处理就怎么处理.
票据就像签合同一样一式两份, 客户端保存一份,服务器保存一份.
这个就是契约. 简单点就像武侠片一块玉分两块.十几年后凭借两块破玉寻找失散多年的兄妹.
登录成功之后,下一次访问的时候就拿着这个令牌就可以访问了.
比如张三要买玩具,登录之后,拿着令牌就可以访问自己账户中心的数据.
/// <summary> /// 票据验证 /// </summary> /// <param name="ticket"></param> /// <returns></returns> [HttpGet] public HttpResponseMessage CheckTicket(string ticket) { UserEntity userEntity = CacheFactory.Cache().GetCache<UserEntity>(ticket); if (userEntity != null) { return Success("通过", userEntity); } else { return Error("错误"); } }
拿着令牌过去服务器有验证令牌的程序.通过了才能访问数据.
说的是不是有点简单.原理就是这样的,封装的太厉害了,不易于理解.
.net程序末法时代,人人贡献一点开源产品
源代码下载: http://www.zhruanjian.com/
技术交流群:345265775
阅读全文
0 0
- .net SSO单点登录mvc
- ASP.NET MVC SSO单点登录设计与实现
- .Net单点登录详解 (SSO)
- 基于.Net的单点登录(SSO)解决方案
- 基于.Net的单点登录(SSO)解决方案
- 【转】 asp.net单点登录(SSO)解决方案
- asp.net单点登录(SSO)解决方案 (转)
- asp.net单点登录(SSO)解决方案
- asp.net单点登录(SSO)解决方案
- 基于.Net的单点登录(SSO)解决方案
- 基于.Net的单点登录(SSO)解决方案
- 基于.Net的单点登录(SSO)解决方案
- 基于.Net的单点登录(SSO)解决方案
- 基于.Net的单点登录(SSO)解决方案
- 基于.Net的单点登录(SSO)解决方案
- 基于.Net的单点登录(SSO)解决方案
- 基于.Net的单点登录(SSO)解决方案
- 基于.Net的单点登录(SSO)解决方案
- Linux安装telnet
- android studio翻译插件ECTranslation
- Qt中一个.cpp类的函数调用另一个.cpp中类的函数的方法
- android camera yuv帧水平翻转
- 情感分类 doc2vec vs. word2vec
- .net SSO单点登录mvc
- mysql 根据某个字段去重
- rop和rop2的题目的wp
- 该如何将FineReader for Mac中的图像转换为Excel
- doctype是什么(面试题)
- 微服务架构中API网关角色
- DateUtils
- oracle 12cR2 过滤分区维护操作
- java调用sql server的存储过程(dbutils)