新手求助,用spring security 权限开发权限管理系统

SpringMVC + security模块 框架整合详解 - 博客频道 - CSDN.NET
liangtiaoxian的专栏
分类:SpringMVC
原谅链接:http://blog.csdn.net/abcd_d_/article/details/
最近整理一个二手后台管理项目,整体大体可分为 : Springmvc + mybatis + tiles + easyui + security 这几个模块,再用maven做管理。刚拿到手里面东西实在太多,所以老大让重新整一个,只挑出骨架。不可否认,架构整体规划得还是很好的,尤其是前端界面用tiles+easyui ,开发很高效!其实,之前虽然听说过security,但做过的项目都没用过security,所以也算是一个新手!整合过程还是很烧脑的。
& & 1、首先是springmvc部分,也是框架的最核心骨架部分。springmvc也是基于servlet框架完成的,所以我们都可以从web.xml入手,然后顺藤摸瓜,整理出整个架构。web.xml中主要部分是放置spring的各种配置:
这两部分指定了配置文件地址和web请求地址拦截规则。需要注意的是,然后配置文件里就是常用的注解、数据源、之类的,不一而足。
& & 2、然后是security,本文实现了自定义的用户信息登录认证,主要部分:spring的security主要注意几个地方:
& & & &1)web.xml中配置security必须的过滤器,注意名字必须是springSecurityFilterChain,这是内置的过滤器;然后将过滤规则设置为/*,表示对所有请求都拦截。
& & & &2) &关于security的配置文件必须在&context-param&中加入,因为ContextLoaderListener在加载的时候就会去加载security相关的东西,而此时springmvc(servlet)模块还没有初始化。
& & & 二者配置如下:
本文中security配置文件再servlet-context.xml中被引入,形如:
& & &3)spring-security.xml配置文件:
& & & & & 现在来看这个xml文件:
& & & & & 首先 &http&标签部分声明了访问拦截规则,这是security的关键。在这部分,我们先声明了一些不需要验证的资源和访问路径;然后是地址拦截规则部分:该部分拦截路径是/**,**表示可以跨目录结构,因此此处拦截该站点所有请求(除之前声明security=“none”的以外),然后拦截规则access=&isAuthenticated()&,这是SecurityExpressionRoot中的判断是否认证过的方法之一,跟hasRole()类似,官方描述是Returns
true&if the user is not anonymous ,也就是用户认证后返回true。
& & & 然后声明了自定义的用户登录的拦截器loginFilter,用于在登录时实现security认证。spring的登录认证模块执行顺序为:
1、UsernamePasswordAuthenticationFilter的attemptAuthentication()方法,此部分可以做用户名密码的判断,正确后继续执行;
2、接下来调用AuthenticationManager的authenticate()方法(中途具体怎么调用此处不深究),一个Mannager对应了多个authenticationProvider,其实最终是通过调用provider的authenticate()方法来进行认证的,只要provider的supports方法返回true即可声明该provider或可进行认证,最后将被manager调用。在authenticate()方法中,调用UserDetails的loadUserByUserName()方法来加载登录用户信息,包括权限信息,最后封装成AbstractAuthenticationToken,这个对象就是security模块认证后的用户完整信息。
自定义认证主要类如下:
到这里基本就完成了spring security的设置,
& & & & &4)最后就是jsp页面部分,页面主要是表单的action地址必须为:path+/j_spring_security_check,其中path是项目路径,然后登录的时候就可以使用security模块了!
& & & & &至于文章中可能涉及到的一些bean或者service,这里就不贴代码了,毕竟项目较为完善,涉及东西太多,另外每个项目业务逻辑也不一样。
& & & & &在整个框架整合过程中,遇到了很多奇怪的问题,很多是因为版本不一致引起的,建议用maven进行jar等依赖包的统一管理。
& & & & 下面是spring security3.2的reference 手册:
liangtiaoxian
排名:千里之外
(1)(1)(0)(3)(1)(1)(2)(1)(4)(5)(1)(1)Spring Security 中org.springframework.security.config.annotation.ObjectPostPro...
发布于 1个月前
Spring Security 中的 @EnableGlobalAuthentication 注解是干啥的,起什么作用的 Spring Security ...
发布于 2个月前
问题很简单 org.apache.ibatis.binding.BindingException: Invalid bound statement (no...
发布于 2年前
各位大神好~
当前使用的Spring Security是4.0.2版本。
目前想使用Spring Security通过注解方式进行方法级别...
发布于 3个月前
在使用layui upload的时候,被csrf拦截,各位大大侠们,这个要怎么解决? 一|页面代码 &!--
security csrf
发布于 3个月前
编码这个坑就不重复提了,大家深有体会。 最近再用 Spring mvc 4.3.4 + Spring Security 3.2.9 做毕业设计 重点是使用...
发布于 3个月前
如题,有这样一个需求, /user/json 返回json数据 /user/html 返回一个页面...
发布于 1年前
为什么该 Filter 会被调用这么多次? .addFilterBefore(new UserMustActivateFilter("/login","/...
发布于 3个月前
如题,之前没接触过此类需求 没有头绪
发布于 3个月前
太黑的忧郁情怀
一、现在想做一个帐户尝试登陆10次还是失败就自动锁定帐户,然后30分钟后自动解锁 下面是尝试登陆失败的处理 package com.mzw.dragon....
发布于 4个月前
各位大神好,我在配置spring security 时,按网上配置,但是一启动 tomcat 就报错了,错误信息和配置如下图
发布于 4个月前
package org.activiti.rest.
import org.activiti.rest.security.BasicAuthe...
发布于 4个月前
我使用spring mvc 和 spring security 4.0 。登录是可以的,但是配置退出时,总是报 404 。诸位大神帮忙看看... mave...
发布于 1年前
番茄鸡蛋馍
一、用户表 # ---------------------------------------------------
DROP TABLE IF EXI...
发布于 4个月前
1. 授权 http://localhost:8080/oauth/authorize?client_id=acme&client_secret=acme...
发布于 4个月前
在配置Spring Security时,启动tomcat服务器,报错: 严重: Exception starting filter springSecur...
发布于 5个月前
如题 ,tomcat 默认主页是web-inf 下面的index.jsp ,
我想进入主页前进入controller做一些处理,但是发现使用 @Requ...
发布于 5个月前
Apache Shiro 是功能强大并且容易集成的开源权限框架,它能够完成认证、授权、加密、会话管理等功能。认证和授权为权限控制的核心,简单来说,“认证”...
发布于 4年前
我的nginx配置是 我的spring-security配置是: ,这样导致每次我的程序向后台发送url的时候总是多点东西,有的时候有少点东西,导致界面上...
发布于 6个月前
这个问题困扰我好久了,配置了Spring4.2.5+Spring security4.0(集成了cas)之后,采用Spring mvc框架,服务启动之后,...
发布于 6个月前
app 客户端登陆,后端使用spring security。 在我的控制器中已经实现了登录。
UserDetails usDetails userDet...
发布于 2年前
@Nemo 你好,想跟你请教个问题: SJV框架 中 关于权限控制, 注释 @SecurityMapping 怎么在springsecurity2 中工作...
发布于 7个月前
已知: Spring Security 相较于 Apache Shiro 更复杂,学习成本高,仅限于Spring框架中使用,但相较于Apache Shir...
发布于 7个月前
请问怎么配置实现spring security3的单点登录,求方法,求配置代码!
发布于 7个月前
如题。 我非分布式启动没问题。在集群环境下,报告session错误。好吧sae环境。
发布于 3年前
请问一个问题,我们整个系统环境就只需要用到十几台机器,在做spring security 集群开发布署时,security本身信息除了SESSION 需要...
发布于 8个月前
protected void configure(HttpSecurity httpSecurity) throws Exception{
发布于 10个月前
Spring security问题 功能是实现了,跳转到了403页面 但是AccessDeniedException异常抛出在控制台 报错 (MyAcce...
发布于 10个月前
首先一个就是登录表单的action,必须是j_spring_secutity_check(默认),可以通过配置文件的&form-login&中的login...
发布于 2年前
比如一个博客管理,自己发表的博客只能自己才能修改删除;如果别人操作,则返回“非法操作”。对于此类的问题,有木有比较好的处理方式,而不是对于每个类似的问题,...
发布于 1年前
在整合spring4,hibernate4的时候,在dao层获取session报错: org.hibernate.HibernateException: ...
发布于 2年前
因配置了 spring mvc 统一异常处理,导致了 spring security 对 AuthenticationException 异常处理失效,原...
发布于 12个月前
卖蜡笔的小新
URL权限设计匹配问题?spring security,自定义权限管理 现在的系统都是通过URL相同匹配权限,
/login/init /logout...
发布于 1年前
现在有两个项目:a项目采用spring security框架做了一堆验证与登录;b项目准备拆出来的单点登录项目。 目前把所有登录和注册都放在了b项目,然后...
发布于 1年前
原版是 Arc Lisp 写的,业余时间用 Java 重新弄了一个,还不完善,供交流学习,欢迎指正:) 代码: /yy...
发布于 1年前
用Shiro可以在service层用 SecurityUtils.getSubject().isPermitted("") 来检查当前用户有没有这权限,在...
发布于 1年前
applicationContext-security.xml &!-- session过期处理 --&
&s:session-management se...
发布于 3年前
@Dead_knight 你好,想跟你请教个问题: 看的文章对SpringSecurity分析的很详细,虽然领悟不全,但也收益良多。这个有个问题想请教一下...
发布于 1年前
spring security 能够直接控制spring mvc的controller吗?怎么设置来控制? 现在我只能在service层控制,如果serv...
发布于 2年前
请问以下两个配置文件,放在同一程序时,启动报错,具体错误如下: Caused by: java.lang.IllegalArgumentException...
发布于 1年前spring-security新手入门_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
spring-security新手入门
上传于|0|0|文档简介
&&spring-security新手入门
阅读已结束,如果下载本文需要使用0下载券
想免费下载更多文档?
定制HR最喜欢的简历
下载文档到电脑,查找使用更方便
还剩10页未读,继续阅读
定制HR最喜欢的简历
你可能喜欢

我要回帖

更多关于 spring security 的文章

 

随机推荐