原创!转载请注明地址 http://ycde2009.iteye.com/blog/1871987
一般来说,一个系统都会有权限验证,这是毋庸置疑的,我在Struts2框架中采取验证的方式是,把需要验证的操作(action请求)作为键,验证的标注作为值写在一个permission.properties配置文件里,如addUserBusinessJSON=loginValidation,它的意思是,添加用户的操作必须为登录后,且登录用户的角色对应的权限表里面的权限项包含这个action名字。
然后在拦截器中进行验证,当一个action请求到来时,我们需要获取到它的action名字,通过拦截器的intercept方法里面的参数actionInvocation,来调用它的方法actionInvocation.getInvocationContext().getName()获取action名字,获取到了之后,就到permission.properties配置文件里面通过查找以此action名字作为键的值,如果没有,说明此action不用验证,否则,就根据值来判断:
a、只验证登录,只需要查看session中是否存在用户对象;
b、如果是验证登录并且需要检查用户角色是否具有此权限,那么先检查用户登录与否,若果session中能取到用户,那就说明用户登录了,就到此用户的角色对应的权限表里面的权限项里面查找是否包含这个action名字,若果有就验证通过,若没有就验证失败,没有登录也是验证失败。
对于验证失败后,我们需要返回失败信息,此时就需要从拦截器返回一个json字符串
http://ycde2009.iteye.com/blog/1870845。
权限验证的处理 一般来说权限分为:
1、不用验证的,如:一般的跳转用的action、登录注册等;
2、只需验证登录的,如:用户的action的跳转:
3、验证登录且权限项里面有请求action名字,如:对数据库有相关操作的action;
第一种不需验证,所以就不用写到permission.properties配置文件里,第二、三种就需要写。
分享到:
相关推荐
WebApi服务端接收访问请求,需要做安全验证处理,验证处理步骤如下: 1) 如果是合法的Http请求,在Http请求头中会有用户身份的票据信息,服务端会读取票据信息,并校验票据信息是否完整有效,如果满足校验要求,则...
一般处理程序验证是权限,一般处理程序验证是权限,一般处理程序验证是权限
Asp.net Mvc身份验证、异常处理、权限验证(拦截器)源码
在一般处理程序(ashx)中验证用户是否登陆、是否对当前操作有读、写、删、改权限的基类。在其他ashx中只需要继承相应权限的基类,无需另写代码实现。
此组件利用IIS的工作原理,在IIS处理客户端请求的某个入口或出口通过判断URL来达到控制权限的目的,这样就可以减少通常要在每个页面或按钮都要添加的权限验证代码,引用和配置后即可使用,不用添加和修改原项目任何...
本问主要介绍asp.net的身份验证机制及asp.net MVC拦截器在项目中的运用。现在让我们来模拟一个简单的流程:用户登录》权限验证》异常处理
本篇介绍通用权限验证的实现代码思路,总共分为导入参数、解析XML、根据XML配置进行处理、返回结果。 代码架构图 一、 类介绍 1.SFWebPermission:实现IHttpModule接口,权限验证入口; 2.SFConfig:导入XML配置...
主要为大家详细介绍了App登陆java后台处理和用户权限验证,感兴趣的朋友可以参考一下
springboot自定义注解的demo;通过本案例实现了通过自定义注解的拦截的方法可以设置访问权限;通过拦截器获取指定方法上的自定义的...然后通过对应的访问去处理;demo里面的代码简单;文档齐全,初学者秒懂.本文一篇文章搞定
安卓android6.0权限管理,支持同时管理多个权限,权限被拒绝后的处理,并可在设置中进行更改权限.rar,太多无法一一验证是否可用,程序如果跑不起来需要自调,部分代码功能进行参考学习。
Sa-Token是一个轻量级Java权限验证框架。它不仅支持SpringBoot等主流框架,也可以适配Servlet、JFinal等非主流框架。Sa-Token可以用于身份验证、角色权限验证、API接口鉴权等场景。本文将重点介绍在SpringBoot框架中...
网络与通信:数据传输、信号处理、网络协议、网络与通信硬件、网络安全网络与通信是一个非常广泛的领域,它涉及到计算机科学、电子工程、数学等多个学科的知识。 云计算与大数据:包括云计算平台、大数据分析、人工...
使用Netty搭建服务端配置Https双向认证可以参考此代码
在本篇文章里小编给大家整理了一篇关于自定义Spring Security的身份验证失败的处理方法,有需要的朋友们学习下。
(1)Java认证与授权服务(2)Java密钥框架(加密解密)(3)处理公钥和数字凭证的公钥基础设施(4)Java安全套接字扩展(1)Java认证与授权(红色表
5、 [增加] 增加代理端查询不返回用户信息选项(销售员管理-统计权限方面设置-代理权限设置) 6、 [修复] 修复管理端重启问题 7、 [修复] 修复代理端起步价不正常问题 8、 [修复] 辅助_取唯一机器码()重复率过高,...
1. 权限管理 Casbin是用于Golang项目的功能强大且高效的开源访问控制库。 1.1.1. 特征 Casbin的作用: 以经典{subject, object, action}形式或您定义的自定义形式实施策略,同时支持允许和拒绝...身份验证(又名验证
数据权限同样属于权限范畴,每次访问都会去请求验证权限,所 以权限的认证必须要高效,这时可以写算法或者是用MEMCACHE等来 提高响应速度。 JAVA的数据权限设计全文共3页,当前为第3页。 JAVA的数据权限设计
todo-api-python-flask:具有身份验证,处理权限和MongoDB的经典To Do API
核心处理:本框架核心逻辑、验证功能均在框架内处理,有效杜绝因外部软件安全等级低,被破解导致的逻辑错误,造成的安全隐患; 二次扩展:本框架可以在discuz框架内功能范围内,无限扩展任何自定义逻辑功能,也可以...