MVC001之权限校验
参考网址:http://bbs.csdn.net/topics/370002739
http://blog.csdn.net/chenloveyue/article/details/7095522
http://zhidao.baidu.com/link?url=PJc1jFn52apSxE6QqCZwcq92z7XFpXH91Ud5U0ZuNKR3YO1djilKx3UM-tX1wcwk4oNYOhMGhX6B2YRABOlqMK(如何不让ActionResult不继续执行)
需求:想对每个事件进行权限控制,如:某个用户访问UserController的GetList Action时,需要先校验该用户是否有权限.
问题:
- 不想每个Action中都去写权限校验程序( protected override void OnAuthorization(AuthorizationContext filterContext))
- Controller如何获取当前用户(session)
- Controller如何获取用户访问哪个Controller及Action(filterContext.HttpContext.Request.Path)
先创建一个类MyPower,重写OnAuthorization
代码:
namespace MvcStudyStep.Controllers
{ [AttributeUsage(AttributeTargets.Class | AttributeTargets.Method, AllowMultiple = false)]
public class MyPower : AuthorizeAttribute
{
public override void OnAuthorization(AuthorizationContext filterContext)
{
if (!new PowerData().CheckUserPower(filterContext.HttpContext.Session["UserName"].ToString(), filterContext.HttpContext.Request.Path.Trim()))
{
filterContext.Result = new ContentResult { Content = "没有权限" }; MyMessage message = new MyMessage();
message.MyTitle = "没有权限";
message.MyDesc = filterContext.HttpContext.Session["UserName"].ToString()+":"+filterContext.HttpContext.Request.Path.Trim() ;
filterContext.HttpContext.Session["MessageObject"] = message;
filterContext.HttpContext.Response.Redirect("/Message/detail");
}
else
{
base.OnAuthorization(filterContext);
}
} }
}
filterContext.Result这段必须加上,否则后面的ActionResult还是会执行.
如:你删除记录时,系统会提示没有权限,但删除操作仍执行了.
问题:
1:ActionResult仍执行的问题(已解决)
2:定义一个通用信息页面(接受信息对象并显示在页面),本想在OnAuthorization中把信息对象构建好后直接传给View,不知到如何写,就用Session来传,感觉不太好.
MVC001之权限校验的更多相关文章
- Apache shiro之权限校验流程
从张开涛blog学习后整理:http://jinnianshilongnian.iteye.com/blog/2018398 图片原图比较大,建议将图片在新的选项卡打开后100%大小浏览 在权限校验中 ...
- Spring AOP 实现功能权限校验功能
版权声明:本文为博主原创文章,未经博主允许不得转载. 目录(?)[-] 使用拦截器实现未登录时跳转到登录界面的功能 1 拦截器SecurityInterceptor 2spring-mvcxml拦 ...
- 基于Spring Aop实现类似shiro的简单权限校验功能
在我们的web开发过程中,经常需要用到功能权限校验,验证用户是否有某个角色或者权限,目前有很多框架,如Shiro Shiro有基于自定义登录界面的版本,也有基于CAS登录的版本,目前我们的系统是基于C ...
- Unix 文件系统读写时权限校验
文件系统中的所有文件都是在读出或写入时进行权限校验 一个问题,如果一个用户对一个普通文件有读写权限,在使用vim编辑时,管理员撤销掉此用户对此文件的写入权限 那么,这个普通用户还可以将修改写入文件吗?
- 微服务架构 - 搭建docker本地镜像仓库并提供权限校验及UI界面
搭建docker本地镜像仓库并提供权限校验及UI界面 docker本地镜像仓库的作用跟maven私服差不多,特别是公司级或者是小组级开发好的docker仓库可以上传到本地镜像仓库中,需要用时,直接从本 ...
- python kafka权限校验client.id
kafka集群有权限校验,在连接时需要加入client.id.但pykafka不能配置该选项.搜索了一下,需要使用confluent-kafka 链接: https://blog.csdn.net/l ...
- SpringCloud(8)---zuul权限校验、接口限流
zuul权限校验.接口限流 一.权限校验搭建 正常项目开发时,权限校验可以考虑JWT和springSecurity结合进行权限校验,这个后期会总结,这里做个基于ZuulFilter过滤器进行一个简单的 ...
- 类Shiro权限校验框架的设计和实现(2)--对复杂权限表达式的支持
前言: 我看了下shiro好像默认不支持复杂表达式的权限校验, 它需要开发者自己去做些功能扩展的工作. 针对这个问题, 同时也会为了弥补上一篇文章提到的支持复杂表示需求, 特地尝试写一下解决方法. 本 ...
- 类Shiro权限校验框架的设计和实现
前言: 之前简单集成了springmvc和shiro用于后台管理平台的权限控制, 设计思路非常的优美, 而且编程确实非常的方便和简洁. 唯一的不足, 我觉得配置稍有些繁琐. 当时我有个小想法, 觉得可 ...
随机推荐
- 无需公众号PHP微信登录微信授权微信第三方登录微信开发php开发
无论是个人还是公司,无需申请公众号,无需申请微信开放平台,即可实现手机网站和PC网站的微 信登录!!! 正常的微信登录是这样的: 1.手机版网站做微信登录,需要申请一个认证公众号,认证不仅需要公司营 ...
- 通过textarea标签解决ClipboardJS在iphone复制失败问题
前段时间做了微信自定义分享的功能,分享出的页面存在邀请码在ios手机上复制失败的问题,然而在PC端和安卓机上是没有问题的.百度了一下,基本给出的解决方案是:ios不单纯支持on,为点击的元素添加空点击 ...
- 夜神模拟器+seleinm抓取手机app(参考资料集合)
目前准备开始实现这个技术,将看起来还算可靠的参考链接粘贴如下: http://www.cnblogs.com/puresoul/p/4597211.html https://www.cnblogs.c ...
- Linux命令详解-ftp服务器配置
1.ftp服务器配置 1.ftp安装: rpm –qa | grep ftp 2.查看安装内容: rpm-ql |more 3.启动ftp服务: service vsftpd start 4.配置文件 ...
- java编译器
编译: .java变成.class 前端编译 Sun javac Eclipse ECJ .class变成机器码 运行期编译 等HostSpot VM c1,c2 .jav ...
- 初学 python 之 用户登录实现过程
要求编写登录接口 : 1. 输入用户名和密码 2.认证成功后显示欢迎信息 3.用户名输错,提示用户不存在,重新输入(5次错误,提示尝试次数过多,退出程序) 4.用户名正确,密码错误,提示密码错误,重新 ...
- ECCV 2018 | UBC&腾讯AI Lab提出首个模块化GAN架构,搞定任意图像PS组合
通常的图像转换模型(如 StarGAN.CycleGAN.IcGAN)无法实现同时训练,不同的转换配对也不能组合.在本文中,英属哥伦比亚大学(UBC)与腾讯 AI Lab 共同提出了一种新型的模块化多 ...
- 今天练手了下mysqlbinlog,标记下
1 首先查看是否开启了 bin log 登录mysql后 使用命令 show variables like "log_%"; show binary logs; 2 确认开启了 ...
- 33. Linux安装配置JDK-7
安装说明 系统环境:centos-6.3安装方式:rpm安装 软件:jdk-7-linux-x64.rpm下载地址:http://www.oracle.com/technetwork/java/jav ...
- jssip中文开发文档(完整版)
jsSip开发文档 (官网地址:http://www.jssip.net/) 完整案例demo下载地址: http://download.csdn.net/download/qq_39421580/1 ...