Java for Web学习笔记(一四二)Spring security准备(3)初窥

本文介绍SpringSecurity的基础知识,包括如何使用JDBC、ActiveDirectory、CAS等进行用户认证,以及通过不同方式实现授权服务。探讨了配置SpringSecurity的方法,并对比了各种授权方式的优劣。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

了解Spring Security的基本知识

完全J2EE的web container也能提供完整的安全框架,但tomcat不是。Spring Security可以使用JDBC,或者我们的服务或仓库来认证用户,也提供了内置的对微软Active Derectory,Jasig的CAS(Central Authentication Service),JAAS(Java Authentication and Authorization Service),LDAP和OpenID的认证和授权。使用Spring Security要求客户端有额外的处理。

  • org.springframework.security.core.Authentication 继承了Principal。
  • org.springframework.security.core.GrantedAuthority 提供授权。可以支持role和activity授权。如果使用LDAP或者Active Directory进行认证,Spring Security会自动用户归属的directory groups填入Authentication 的授权中。
  • org.springframework.security.authentication.AuthenticationProvider,是为我们应用提供认证服务的提供者。AuthenticationProvider可以有Active Directory, CAS, JAAS, LDAP, OpenID, JDBC多个实现,也可以自定义。

使用Spring Security的授权服务

在Spring Security中,有集中使用授权的方式。当中最好的可能就是使用全局方法安全标记,它可以标记在service的方法上,Spring Security确保带有合适的GrantedAuthority(s)的Authentication来执行方法。

还可以在Spring Security配置中定义方法拦截规则。采用标记还是采用xml配置视我们代码的复杂性,如果应用比较复杂,可能定义方法连接规则比标记更为简单,另外,修改规则,不需要重新编译。

还可以使用URL拦截跪着,这是最容易实现的,但缺点不少,例如我们只能用于web应用,其他的不行;有例如如果我们有多种用户接口(web,REST,SOAP)我们需要为每个用户接口进行定义,这容易造成规则的不一致,从而产生授权漏洞。

一般来讲,我们需要使用标记或者配置规则,加上针对login和logout定义一些URL安全规则。我们将在后面学习到。

配置Spring Security

Spring安全配置和Spring框架配置紧密结合,大量使用ApplicationContext来管理它的安全上下文。

设置Spring Security,可以使用XML,Java或者混合配制。在一个应用上下文中可以有多个Spring Security上下文的配置。具体后面学习。

相关链接:我的Professional Java for Web Applications相关文章

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值