`
san_yun
  • 浏览: 2662607 次
  • 来自: 杭州
文章分类
社区版块
存档分类
最新评论

Spring Security入门

 
阅读更多
参考官方文档(http://www.mossle.com/docs/springsecurity3/html/technical-overview.html)

spring 是一个非常流行和成功的 Java 应用开发框架。Spring Security 基于 Spring 框架,提供了一套 Web 应用安全性的完整解决方案。一般来说,Web 应用的安全性包括用户认证(Authentication)和用户授权(Authorization)两个部分。

web.xml配置
<filter>
  <filter-name>springSecurityFilterChain</filter-name>
  <filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>
</filter>

<filter-mapping>
  <filter-name>springSecurityFilterChain</filter-name>
  <url-pattern>/*</url-pattern>
</filter-mapping>

Once you've added this to your web.xml, you're ready to start editing your application context file. Web security services are configured using the <http> element.

spring http 配置
 <http auto-config='true'>
    <intercept-url pattern="/**" access="permitAll" />
    <custom-filter position="PRE_AUTH_FILTER" ref="dtSessionMgr"/> 
  </http>

<beans:bean id="dtSessionMgr" class="com.duitang.common.DuitangSessionMgr" p:authenticationManager-ref="authenticationManager"/>
 

使用 Authentication Providers

定义authenticationManager,dtAuthProvider是某个实现bean。
<authentication-manager alias="authenticationManager">
        <authentication-provider ref="dtAuthProvider"/>
    </authentication-manager>


配置具体的实现bean:
<beans:bean id="dtAuthProvider"
        class="org.springframework.security.web.authentication.preauth.PreAuthenticatedAuthenticationProvider">
        <beans:property name="preAuthenticatedUserDetailsService">
            <beans:bean class="com.duitang.common.authen.DuitangAuthProvider"/>
        </beans:property>
    </beans:bean>


PreAuthenticatedAuthenticationProvider是一个具体的实现,接口定义在org.springframework.security.authentication.AuthenticationProvider
AuthenticationProvider有多个实现,后面一一介绍。


LDAP
对LDAP(轻量目录访问协议)的支持,org.springframework.security.ldap.authentication.
LdapAuthenticationProvider。
参考:http://www.ibm.com/developerworks/cn/java/j-lo-springsecurity/index.html


获取登录用户信息
org.springframework.security.core.context.SecurityContext接口表示的是当前应用的安全上下文。通过此接口可以获取和设置当前的认证对象。

org.springframework.security.core.Authentication接口用来表示此认证对象。通过认证对象的方法可以判断当前用户是否已经通过认证,以及获取当前认证用户的相关信息,包括用户名、密码和权限等。

protected DuitangUser parseDuitangUser() {
	Authentication  auth1 = SecurityContextHolder.getContext()
	.getAuthentication();

	Object userobj = auth1.getPrincipal();

	if (userobj == null) {
		return null;
	}
	if (userobj.getClass() != DuitangUser.class) {
		return null;
	}
	return (DuitangUser) userobj;
}


参考spring官方文档:http://static.springsource.org/spring-security/site/docs/3.0.x/reference/springsecurity-single.html#get-spring-security

http://cosmo2097.iteye.com/blog/349003
分享到:
评论

相关推荐

    spring security 入门demo

    在这个"Spring Security 入门demo"中,我们将会探讨一系列关键概念和功能,通过提供的压缩包文件,我们可以看到不同方面的实现示例。 1. **Spring Security RESTful服务**: - `spring-security-rest-full` 模块...

    springsecurity入门实例

    **Spring Security 入门实例详解** Spring Security 是一个强大的安全框架,用于保护基于 Java 的 Web 应用程序。它提供了一套完整的访问控制和身份验证机制,帮助开发者处理应用程序的安全需求。本教程将引导你...

    SpringSecurity入门Demo实例

    在这个入门Demo实例中,我们将探讨如何配置和使用Spring Security来保护我们的Java应用。教程链接提及的CSDN博客文章提供了详细的步骤,指导我们逐步创建一个基本的Spring Security应用。 首先,我们需要在项目中...

    SpringSecurity入门小demo(SSM+Spring Security)

    在 `HelloSpringSecurity` 文件中,你可能看到以下关键代码: - **WebSecurityConfigurerAdapter** 类:这是 Spring Security 提供的配置适配器,可以覆盖其方法来定制安全规则。 - `configure(HttpSecurity http)...

    spring security 入门经典教程

    以上章节构建了一个全面的Spring Security入门知识体系,为学习者提供了深入理解Spring Security的路径。从基础的介绍到具体的设计与应用,从服务层到Web层的安全配置,再到与其它技术的整合,本书内容丰富,覆盖了...

    springboot+springsecurity入门

    在这个"springboot+springsecurity入门"项目中,我们将关注如何将这两个框架结合使用,实现一个自定义表单登录的功能。自定义表单登录意味着我们可以根据应用需求设计登录界面,并且处理用户提交的登录信息。 1. ...

    HAP框架-SpringSecurity入门手册.zip

    "HAP框架-SpringSecurity入门手册.docx"应包含了详细的步骤和示例,指导开发者如何在HAP框架下配置和使用SpringSecurity。建议仔细阅读并结合实际项目进行实践,以加深理解和掌握。 总的来说,SpringSecurity在HAP...

    SpringBoot集成Spring Security入门程序并实现自动登录【完整源码+数据库】

    通过以上步骤,我们可以构建一个基本的SpringBoot + Spring Security入门程序,实现用户登录和自动登录功能。这个程序结合了数据库集成、安全配置以及IDEA的使用,为开发者提供了一个完整的实践案例。在实际开发中,...

    spring security 完整项目实例

    Spring Security 是一个强大的安全框架,用于为Java应用提供身份验证和授权服务。在这个完整的项目实例中,我们将深入探讨Spring Security的核心概念以及如何将其应用于实际的Web应用程序开发。 首先,我们从用户、...

    springsecurity入门笔记+教程

    springsecurity入门笔记+教程

    HAP框架-SpringSecurity入门手册.docx

    本手册是关于HAP框架中Spring Security的入门指南,由Chenxinkai在2016年7月13日创建,并于2016年7月24日进行了最后更新。该文档的参考编号为Hap框架 Spring Security 使用,版本号为1.0。本手册仅供内部使用,未经...

    全套Spring Security入门到项目实战课程

    ### Spring Security 全套入门到项目实战课程知识点详解 #### 一、Spring Security 概述 **1.1 Spring Security 介绍** - **定义**: Spring Security 是一款基于 Spring 框架的身份认证(Authentication)与用户...

    【完整源码+数据库】SpringBoot集成Spring Security入门程序并实现自动登录

    在这个入门程序中,我们将深入理解如何将SpringBoot与Spring Security整合,以实现用户身份验证和授权功能,并通过自动登录功能提升用户体验。 Spring Security的核心功能包括身份验证(Authentication)和授权...

    Spring_Security入门demo(maven项目)

    在这个"Spring_Security入门demo(maven项目)"中,我们将探讨如何搭建一个基本的Spring Security环境,理解其核心概念,并通过实际操作来熟悉它的配置和功能。 **1. Maven项目介绍** Maven 是一个项目管理和综合...

    简单的springsecurity实战,非常适合springsecurity入门级别的老铁学习,这个小demo采用的.zip

    Spring Security 是一个强大的安全框架,用于为 Java 应用程序提供认证、授权和安全防护功能。这个实战项目针对初学者,旨在帮助理解 Spring Security 的基本概念和配置过程。在这个小型的示例项目中,我们将探讨...

    关于一个新手的SpringSecurity入门总结

    在这个入门总结中,我们将探讨如何为新手配置和使用SpringSecurity。 首先,SpringBoot 已经为我们提供了SpringSecurity的自动配置。在默认情况下,当我们启动应用时,控制台会输出一个UUID值,这个值用于默认账户...

    springsecurity入门代码资源

    hello大家好,这里是X,今天这篇博文带来的是SpringBoot安全管理:SpringSecurity,讲到安全管理,不得不说几乎所有的大型项目开发必备之一,而且有了它,对项目的安全也起到了非常大的效果,可以说是项目搭建的必备...

    spring-security-helloworld

    "级别的项目通常是编程初学者的第一步,而“入门”则表明这适用于那些初次接触Spring Security的人。标签中的“spring security”是核心关键词,指的是这个项目将围绕Spring Security框架进行,帮助新手了解其工作...

    spring security教程

    本教程是基于Mossle平台整理的Spring Security入门资料,旨在帮助初学者快速掌握这一关键的安全技术。 首先,我们要理解Spring Security的核心概念。**认证**是验证用户身份的过程,通常涉及用户名和密码的输入。**...

    springsecurity电子书

    在 SpringSecurity电子书中,作者Ben Alex和Luke Taylor提供了对Spring Security的全面介绍,涵盖了从基本概念到高级特性以及如何配置和使用Spring Security的详细指南。 知识点一:Spring Security基础 1. Spring ...

Global site tag (gtag.js) - Google Analytics