ASP.NET:Forms身份验证和基于Role的权限验证
从Membership到SimpleMembership再到ASP.NET Identity,ASP.NET每一次更换身份验证的组件,都让我更失望。Membership的唯一作用就是你可以参考它的实现,它的数据库创建和扩展方面就真的让人实在无法使用了。
当大家欢呼着让ASP.NET开发走上ASP MVC的正确道路时,身份验证组件却走的更远了:SimpleMembership除了第三方验证的参考价值,它的主键和对领域模型的入侵让它成了摆设,而ASP.NET Identity除了把第三方验证搞的更复杂化外依然没有改进。想起SimpleMembership在code first方面的支持上给我带来的各种麻烦让我现在依然碎碎念。
ASP.NET Identity在Code First这方面虽有改进,但在依赖方面不只是个IdentityUser的继承,竟然还用IdentityDbContext试图搞我的DbContext,你知道我有没有DbContext啊?
幸亏核心都还是基于Cookie的,Forms身份验证也一直可以使用,所以毫不犹豫拿出Forms+FormsAuthentication砍死了SimpleMembership和ASP.NET Identity。这俩货让我这两年赌了无数次,冒着被无数小白和伪实战专家真小白喷的危险我也必须抛弃。还要庆幸权限验证的核心页依然是IPrincipal,使用自定义的RoleProvider可以将权限验证从这俩鸡肋里拯救出来。
1.配置好Web.config
2.清爽的User和Role
3.只需要将2个方法的RoleProvider
4.IAccountService和IUserRepo
只用于演示,依赖注入页简单使用Factory的静态方法。
为了便于演示,使用admin登录的,我们返回admin权限。
5.功能演示:
一想到我没有任何依赖任意测试的Domain Model,只对外接口依赖的Controller,心里真舒坦。登录、退出、admin权限控制,太晚了,不截图了自己跑Demo吧。
最新文章
- python多线程网络编程
- codeforces Hill Number 数位dp
- UIView添加手势
- tyvj 1049 最长不下降子序列 n^2/nlogn
- QQ登入(1)-有客户端直接授权,没客户端web授权
- leetcode 349:两个数组的交集I
- 转载——有感于三个50岁的美国程序员的生活状态与IT职业杂想
- OC最实用的runtime总结,面试、工作你看我就足够了!
- Magic Pairs - SGU 119(同余)
- Codeforce 215 div1
- 用HTTP方式调用gearman任务处理
- 设置MySQL最大连接数
- 笔记:Maven 项目报告插件
- Python环境——安装扩展库
- JS实用小函数 数据是否合法或存在 获取当前日期时间
- 6.26 py GIL
- sudo控制权限简单用法介绍
- 使用Visual Studio2013打开Visual Studio2015项目
- Android-LoaderManager异步加载数据库数据
- 随手记录-linux-Linux目录结构
热门文章
- P2657 [SCOI2009]windy数
- 【转载】C#, VB.NET如何将Excel转换为PDF
- [Java] 集合框架原理之一:基本结构与源码分析
- noi题库(noi.openjudge.cn) 1.13编程基础之综合应用 T12 分数求和
- 巧妙使用CSS创建可以打印的页面
- jQuery UI dialog 使用记录
- JavaScript的基本介绍
- Celery异步任务队列/周期任务+ RabbitMQ + Django
- Python标准库内置函数complex介绍
- 【LinuxC】GCC编译C程序,关闭随机基址