• ~随笔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页面)

      

  • 相关阅读:
    lnmp thinkphp在linux上支持pathinfo
    position
    whereis命令
    Css transition
    CSS3 2D 转换
    asp.net缓存(转)
    Quartz.net开源作业调度框架使用详解(转)
    .Net开源工作流Roadflow的使用与集成(转)
    反射中 GetCustomAttributes
    ASP.NTE 5 Target framework dnx451 and dnxcore50(转)原文:http://www.cnblogs.com/xishuai/p/aspnet5-target-framework-dnx451-and-dnxcore50.html
  • 原文地址:https://www.cnblogs.com/gaojl/p/8521199.html
Copyright © 2020-2023  润新知