博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
spring security3.x学习(2)_认证和授权&运行第一个项目
阅读量:6241 次
发布时间:2019-06-22

本文共 2775 字,大约阅读时间需要 9 分钟。

hot3.png

本文为转载学习

原文链接:

1.认证

spring security3这本书中这样描述认证:"认证是鉴别我们应用中的用户是他们所声明的那个人",,其实这句话的大概意思是:用户通过提供一些验证信息给服务器,服务器接收验证信息后和一些原数据进行对比(如数据库等),对比如果成功,那么就说明用户通过了认证。

2.授权

有两种授权的概念,分别是这样的:

    第一个是已经认证的安全实体与一个或多个权限(authorities)的匹配关系(通常称为角色)。例如,一个非正式的用户访问你的网站将被视为只有访问的权限而一个网站的管理员将会被分配管理的权限。 

    第二个是分配权限检查给系统中要进行安全保护的资源。通常这将会在系统的开发过程中进行,有可能会通过代码进行明确的声明也可能通过参数进行设置。例如,在我们应用中管理宠物商店详细目录的界面只能对具有管理权限的用户开放。 

书中这样诠释了这两种授权,以我的理解看来,大概是这样的意思: 

    第一种授权的概念是,当用户通过一些凭证信息交给服务器去验证时,服务器通过验证,然后将此用户的一些权限交付给验证的用户,这个过程叫做授权。

    第二种授权的概念是,当用户访问某一个页面时,服务器会判断用户是否有权限去访问该页面,如果有权限访问,将会让用户去访问,这种方式也叫做授权。

3.运行第一个项目

我将书中的第一个例子运行起来了,配置和修改了部分的xml文件。大概是跑起来了,我在此粗略的说一下项目的搭建架构,和spring security配置文件中,我们可以看到的一些内容。

首先我们先来看一下项目的web.xml文件:

        
Dog Store
        
            
contextConfigLocation
            
                /WEB-INF/dogstore-security.xml                /WEB-INF/dogstore-base.xml            
        
        
        
            
org.springframework.web.context.ContextLoaderListener
        
        
        
            
dogstore
                
org.springframework.web.servlet.DispatcherServlet
                
1
        
        
            
dogstore
            
*.do
            
/home.do
        
        
        
            
springSecurityFilterChain
            
org.springframework.web.filter.DelegatingFilterProxy
        
        
            
springSecurityFilterChain
            
/*
        
        
            
home.do
            
        

    如果看一个java web项目一般来讲,我们通过查看他的web.xml文件,就可以猜出他大概用了哪些架构。通过以上的xml,我们可以看出,项目使用了3个部分的架构:spring原生框架、spring mvc框架、spring security框架..前两种框架我就不说了,如果大家不懂,去查一下相关书籍就可以了,针对springsecurity我们可以看到,他使用了一个过滤器的形式去拦截项目中的所有url路径

    然后,在上边的过滤器中我们可以看到,拦截到的请求会交给DelegatingFilterProxy这个类去处理,其实这个类就是一个代理的过滤器链。里边应该包含了很多过滤器(这些我们先不用去管他,先知道这样配置就好了),

    然后,我们可以猜测出来这样的一个过滤器链就应该是整个spring security的核心,而且我们也应该可以猜出来如果spring security使用过滤器为核心的话,那么过滤器肯定是可以配置的。

    查看spring3文档时,文档中建议我们不要修改filter-name(即 springSecurityFilterChain).特别注意.

那好,接下来我们查看一下spring security的配置文件

简单的可以看出来,spring security文档正文中使用了两个标签,我们从他们大概的字面上可以了解到,

    第一个http标签其实主要是配置拦截url用的,里边大概配置了如果你要访问某个路径,需要哪个连接权限

    而http标签下边的authentication-manger标签下的标签则配置了那些用户都拥有哪些权限,这是我们从字面上了解到的内容,我们不需要了解太深入。这次只需要把这个项目运行起来,然后通过运行项目,先读懂里边的大概流程就可以了。

转载于:https://my.oschina.net/heroShane/blog/196978

你可能感兴趣的文章
bash腳本編程之三 条件判断及算数运算
查看>>
php cookie
查看>>
linux下redis安装
查看>>
量子通信和大数据最有市场突破前景
查看>>
如何申请开通微信多客服功能
查看>>
Sr_C++_Engineer_(LBS_Engine@Global Map Dept.)
查看>>
非监督学习算法:异常检测
查看>>
jquery的checkbox,radio,select等方法总结
查看>>
Linux coredump
查看>>
Ubuntu 10.04安装水晶(Mercury)无线网卡驱动
查看>>
我的友情链接
查看>>
ElasticSearch 2 (32) - 信息聚合系列之范围限定
查看>>
VS2010远程调试C#程序
查看>>
[MicroPython]TurniBit开发板DIY自动窗帘模拟系统
查看>>
从Handler.post(Runnable r)再一次梳理Android的消息机制(以及handler的内存泄露)
查看>>
windows查看端口占用
查看>>
Yii用ajax实现无刷新检索更新CListView数据
查看>>
JDBC的事务
查看>>
App 卸载记录
查看>>
JavaScript变量和作用域
查看>>