zoukankan      html  css  js  c++  java
  • ~随笔A015~spring security对用户权限控制

      在实际的开发项目中,我们都会用到角色权限的控制,每个人可能因为不同的角色而在登录时进入不同的页面,这样角色与代码紧密耦合在一起,形成硬编码,在后续维护中,我们每新增一个角色就需对代码多加个if-else的判断,这里,我们看看spring-security如何实现用户权限控制?

      一、什么是spring security?

      spring security基于spring框架为j2ee的企业应用软件提供全面的安全服务。(即仅应用于java开发应用中)

      二、spring security

      1.spring 的AOP概述

      

      这2个切面就像2把锁,系统进入各个环节时根据2把锁同时完成,才能进入业务功能。

      2.spring security作用

      

      3.spring security源码获取

      

      4.spring security项目配置

      (1)web.xml配置

      

      (2)spring security自身配置文件

      所有的框架都有自己的配置文件,spring security也不例外,它的配置文件默认与spring相同(applicationContext.xml)

      在applicationContext.xml中头文件引入2个scheme文件 spring、spring-security

      

      a).<http auto-config="true"></http>

      <http>标签代表访问的全为http协议

      auto-config="true"解析:在spring security中共有7个过滤器,如果配置不好会有异常,而在2.0版本中加上此属性可以自动配置过滤器链

      b).<intercept-url pattern="/index.jsp" access="ROLE_user,ROLE_admin">

      <intercept-url>解析:拦截的URL,即保护路径,可以是页面也可以是action  

      access解析:表示当前有哪些角色可以访问当前路径,默认ROLE前缀

      c).配置用户

      

      d).自定义登录页配置

      <form-login login-page="/login.jsp"  authentication-failure-url="/login.jsp" default-target-url="/ace.jsp" always-user-default-target="true"/>

      authentication-failure-url:认证失败返回页面

      default-targeturl:登录成功页面

      always-user-default-target:不管从哪个页面进来都进入均返回成功默认页面ace.jsp(强制默认成功页);如果不配置,从保护资源进入成功后依据cookie记忆返回保护资源index.jsp(人性化)。

      e).login.jsp页面

      

      

      

      f).无权限配置页面(如果用户没有权限访问,将返回denied.jsp页面)

      

  • 相关阅读:
    Go使用dlv调试代码
    1660 super安装tensorflow1.15
    SQL Server高级进阶之表分区删除
    SQL Server高级进阶之分区表创建
    SQL Server高级进阶之索引优化查询
    SQL Server高级进阶之索引碎片维护
    C# WinForm通用自动更新器
    获取当前月第一天,当前月最后一天,上个月日期,上个月的第一天
    去除checkbox选择的三种方式
    用SpringBoot实现策略模式
  • 原文地址:https://www.cnblogs.com/gaojl/p/8521199.html
Copyright © 2011-2022 走看看