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页面)

      

  • 相关阅读:
    弹框DialogBuilder的使用
    分页刷新(SwipeRefreshLayout+SwipeMenuRecyclerView)
    Android Studio各种bug
    分页加载PullToRefreshLayout+PullableListView
    20+个很棒的Android开源项目
    ANDROID中使用开源框架CITYPICKERVIEW实现省市区三级联动选择
    Android 一个改善的okHttp封装库
    Android之万能播放器解码框架Vitamio的介绍及使用
    Android微信支付SDK开发
    CMD 查看端口号 根据PID 关闭进程
  • 原文地址:https://www.cnblogs.com/gaojl/p/8521199.html
Copyright © 2011-2022 走看看