访问控制

在现在的一些软件设计操作上,考虑安全性以及操作性的平衡点,所以一般在本地服务器上(你现在使的电脑就是你发布的服务器),

本地服务器可以不受用户登录的限制。

在springSecurity之中提供有一个投票器的概念,投票器有以下几种:

支持:如果在本地,就不受限制

反对:不是在本地,就反对

弃权:一切照旧

范例:实现投票器

package jcn;import java.util.Collection;
import java.util.Iterator;import org.springframework.security.access.AccessDecisionVoter;
import org.springframework.security.access.ConfigAttribute;
import org.springframework.security.core.Authentication;
import org.springframework.security.web.authentication.WebAuthenticationDetails;public  class IPAddressVote implements AccessDecisionVoter<Object> {//判断是否支持投票操作@Overridepublic boolean supports(ConfigAttribute attribute) {//有一个属性是"IP_LOCAL_HOST"return attribute.getAttribute() != null && attribute.getAttribute().startsWith("IP_");}//根据类型判断@Overridepublic boolean supports(Class<?> arg0) {return false;}//投票过程@Overridepublic int vote(Authentication aut, Object object,Collection<ConfigAttribute> attributes ){//现在根据ip地址判断,并且项目不是通过WEB认证进行的if (!(aut.getDetails() instanceof WebAuthenticationDetails)) {return AccessDecisionVoter.ACCESS_DENIED; //拒绝你操作}//如果现在是来自WEB的认证授权操作WebAuthenticationDetails datails = (WebAuthenticationDetails) aut.getDetails();String ip = datails.getRemoteAddress();//取得IP地址Iterator<ConfigAttribute> iter = attributes.iterator();while (iter.hasNext()) {ConfigAttribute caAttribute = iter.next();//如果是本地ip地址if ("IP_LOCAL_HOST".equals(caAttribute.getAttribute())) {if ("0:0:0:0:0:0:0:1".equals(ip)) {//是本机的ipreturn AccessDecisionVoter.ACCESS_DENIED;}}}return AccessDecisionVoter.ACCESS_ABSTAIN;}}

在安全框架中配置投票器:

<!-- 定义投票器 -->
<bean id="accessDes" class = "org.springframework.security.access.vote.AffirmativeBased"><property name="decisionVoters"><list><bean class="org.springframework.security.access.vote.RoleVoter"/><bean class="org.springframework.security.access.vote.AuthenticatedVoter"/><bean class="jcn.IPAddressVote"/></list></property>
</bean>
<!-- 启动Spring安全验证 -->
<security:global-method-security jsr250-annotations="enabled"
access-decision-manager-ref="accessDes"/>

此时就可以利用投票器的方式来处理操作。

修改Action程序类,增加本地认证服务:

由于操作者是处于服务器本地ip服务上,所以此时可以直接进行数据的操作。

SpringSecurity 投票器相关推荐

  1. springsecurity投票器

    原文链接:http://blog.csdn.net/jaune161/article/details/18401233 在Spring中引入了投票器(AccessDecisionVoter)的概念,有 ...

  2. SpringSecurity自定义投票器

    拦截URL的时候使用自定义权限判断 1:配置文件指定自定义投票器 <!-- 页面拦截规则 --><http use-expressions="false" acc ...

  3. sklearn使用投票器VotingClassifier算法构建多模型融合的软投票器分类器(soft voting)并自定义子分类器的权重(weights)、计算融合模型的混淆矩阵、可视化混淆矩阵

    sklearn使用投票器VotingClassifier算法构建多模型融合的软投票器分类器(soft voting)并自定义子分类器的权重(weights).计算融合模型的混淆矩阵.可视化混淆矩阵 目 ...

  4. sklearn使用投票器VotingClassifier算法构建多模型融合的软投票器分类器(soft voting)并计算融合模型的混淆矩阵、可视化混淆矩阵(confusion matrix)

    sklearn使用投票器VotingClassifier算法构建多模型融合的软投票器分类器(soft voting)并计算融合模型的混淆矩阵.可视化混淆矩阵(confusion matrix) 目录

  5. sklearn使用投票器VotingClassifier算法构建多模型融合的硬投票器分类器(hard voting)并计算融合模型的混淆矩阵、可视化混淆矩阵(confusion matrix)

    sklearn使用投票器VotingClassifier算法构建多模型融合的硬投票器分类器(hard voting)并计算融合模型的混淆矩阵.可视化混淆矩阵(confusion matrix) 目录

  6. PHP+AJAX 投票器功能

    终于到AJAX,翻译过来就是"异步Javascript和XML",他可以实现网页内容的部分加载,可提高用户体验.现在有很多网站都有用这技术,反正你知道他能实现网页的异步更新就差不多 ...

  7. 两个人投票的c语言程序,设计网页投票器(二)《精通Unix下C语言编程与项目实践》之十...

    本处设计一个网页投票器,它访问"www.zhiliaowang.com"上的服务程序"/toupiaoceshi.asp",并通过"name" ...

  8. 如何利用C#编写网页投票器程序 如何使用代理来投票 代理IP来投票

    一.前言 看个图,了解下投票的过程. 提交投票信息 投票页 ――――――――>投票信息处理页 反馈投票结果 (请求页)<―――――――(响应页) 一般情况下,填写投票信息,然后点提交按钮发 ...

  9. (93)多人投票器(N人投票器)

    (93)多人投票器(N人投票器) 1 文章目录 1)文章目录 2)FPGA入门与提升课程介绍 3)FPGA简介 4)多人投票器(N人投票器) 5)技术交流 6)参考资料 2 FPGA入门与提升课程介绍 ...

最新文章

  1. Spring Cloud-Honghu Cloud分布式微服务云系统(一)
  2. Button的使用(二):从资源文件中
  3. Oracle中比较日期大小
  4. 【转】解决wine中文乱码的问题
  5. 处理时间_4_计算时间列所在的周的序号
  6. Codeforces 835 F Roads in the Kingdom(树形dp)
  7. 使用Python查看汉诺塔移动详细过程
  8. Linux工作笔记025---CentOS7.3安装Nginx
  9. IIS7.5应用程序池集成模式和经典模式的区别介绍
  10. php编程常用英语词汇,泰牛程序员 PHP编程掌握的英语词汇(3) 韩顺平整理
  11. 那一年马云34岁,李彦宏30岁,马化腾27岁
  12. ktv无线服务器,KTV无线网络覆盖方案-无死角WIFI信号全覆盖方法
  13. uni 页面加载完毕_uniapp小程序如何等待数据回来才加载页面?
  14. 计算机网络练习3|河工|周老师
  15. C语言指针详解(补充中)
  16. VIF-Net:RGB和红外图像融合的无监督框架
  17. 腾讯云CFS挂载问题
  18. 【末日时在做什么?有没有空?可以来拯救吗?】Scarborough Fair
  19. 虚拟机怎样使用桥接模式连接外网!
  20. 法兰克oitf操作_FANUC Oi-B数控系统操作面板说明

热门文章

  1. 自相关系数与偏自相关系数,拖尾与截尾
  2. 实用 高效率 的电脑软件
  3. 3.7V锂电池,为什么能充电到4.2V
  4. 第十四届蓝桥杯(web应用开发)模拟赛2期 -大学组
  5. windows添加远程桌面3389端口映射
  6. PyTorch深度学习实战 | 猫狗分类
  7. 华为设备如何查看单板的序列号?
  8. 无人机遥感测绘技术在工程测绘中的应用探究
  9. 拼团返利商城小程序怎么搭建_分享拼团返利商城小程序的作用
  10. 三调和村庄规划地类对应关系——以新疆村庄规划为例