加载中…
个人资料
李茂林100
李茂林100
  • 博客等级:
  • 博客积分:0
  • 博客访问:124
  • 关注人气:0
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
访客
加载中…
好友
加载中…
评论
加载中…
留言
加载中…
博文

认证是由AuthenticationManager来管理的,但是真正进行认证的是AuthenticationManager中定义的AuthenticationProviderAuthenticationManager中可以定义有多个AuthenticationProvider。当我们使用authentication-provider元素来定义一个AuthenticationProvider时,如果没有指定对应关联的AuthenticationProvider对象,Spring Security默认会使用DaoAuthenticationProviderDaoAuthenticationProvider在进

阅读  ┆ 评论  ┆ 转载 ┆ 收藏 
标签:

mysql

分类: Mysql

CREATE TABLE `tmp` (   

  `id` int(11) DEFAULT NULL,   

  `txt` varchar(20) DEFAULT NULL  

) ;   

  

insert into tmp values(22,null);   

  

-- 用 case when 实现   

select case when txt is null then  '' else txt end from tmp ;   

  

-- 用 ifnull 实现   

select ifnull(txt,'ab') from tmp;  

详情如下: 

IFNULL(expr1,expr2) 

如果expr1不是NULL,IFNULL()返回expr1,否则它返回expr2。IFNULL()返回一个数字或字符串值,取决于它被使用的上下文环境。 

mysql> select IFNULL(1,0); 

-> 1 

mysql> select IFN

阅读  ┆ 评论  ┆ 转载 ┆ 收藏 
分类: springSecurity

异常信息本地化

 

       spring

 Security支持将展现给终端用户看的异常信息本地化,这些信息包括认证失败、访问被拒绝等。而对于展现给开发者看的异常信息和日志信息(如配置错误)则是不能够进行本地化的,它们是以英文硬编码在Spring Security

的代码中的。在

Spring-Security-core-xxx.jar包的org.springframework.security

包下拥有一个以英文异常信息为基础的

messages.properties文件,以及其它一些常用语言的异常信息对应的文件,如messages_zh_CN.properties

文件。那么对于用户而言所需要做的就是在自己的

ApplicationContext中定义如下这样一个bean

   <</span>bean id='messageSource'

   class='org.springfra

阅读  ┆ 评论  ┆ 转载 ┆ 收藏 
分类: springSecurity

1.1     认证过程

       1、用户使用用户名和密码进行登录。

       2spring

 Security将获取到的用户名和密码封装成一个实现了Authentication

接口的

UsernamePasswordAuthenticationToken

       3、将上述产生的token对象传递给AuthenticationManager进行登录认证。

       4AuthenticationManager认证成功后将会返回一个封装了用户权限等信息的Authentication对象。

       5、通过调用SecurityContextHolder.getContext().setAuthentication(...)AuthenticationManager返回的Authentication对象赋予给当前的SecurityContext

&nbs

阅读  ┆ 评论  ┆ 转载 ┆ 收藏 
分类: springSecurity

  首先我们为spring

 Security专门建立一个Spring

的配置文件,该文件就专门用来作为

Spring Security的配置。使用Spring Security

我们需要引入

Spring SecurityNameSpace

<</span>beans xmlns='http://www.springframework.org/schema/beans'

  xmlns:security='http://www.springframework.org/schema/security'

  xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'

  xsi:schemaLocation='http://www.springframework.org/schema/beans

          http://www.springframework.org/schema/beans/spring-beans-3.1.xsd

阅读  ┆ 评论  ┆ 转载 ┆ 收藏 
分类: springSecurity

1.1     Authentication

       Authentication是一个接口,用来表示用户认证信息的,在用户登录认证之前相关信息会封装为一个Authentication具体实现类的对象,在登录认证成功之后又会生成一个信息更全面,包含用户权限等信息的Authentication对象,然后把它保存在SecurityContextHolder所持有的SecurityContext中,供后续的程序进行调用,如访问权限的鉴定等。

 

1.2     SecurityContextHolder

       SecurityContextHolder是用来保存SecurityContext的。SecurityContext中含有当前正在访问系统的用户的详细信息。默认情况下,SecurityContextHolder将使用ThreadLocal来保存SecurityContext,这也就意味着在处于同一线程中的方法中我们可以从ThreadLocal中获取到当前的SecurityContext。因为线程池的原因,如

阅读  ┆ 评论  ┆ 转载 ┆ 收藏 
分类: springSecurity

1.1     form-login元素介绍

       http元素下的form-login元素是用来定义表单登录信息的。当我们什么属性都不指定的时候spring

 Security会为我们生成一个默认的登录页面。如果不想使用默认的登录页面,我们可以指定自己的登录页面。

 

1.1.1   使用自定义登录页面

       自定义登录页面是通过login-page属性来指定的。提到login-page我们不得不提另外几个属性。

Ø  username-parameter:表示登录时用户名使用的是哪个参数,默认是“j_username”。

Ø  password-parameter:表示登录时密码使用的是哪个参数,默认是“j_password”。

Ø  login-processing-ur

阅读  ┆ 评论  ┆ 转载 ┆ 收藏 
  

新浪BLOG意见反馈留言板 电话:4000520066 提示音后按1键(按当地市话标准计费) 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 会员注册 | 产品答疑

新浪公司 版权所有