Spring Security 学习(2)
?
当在登录页面进行了正确的登录后,Spring Security会自动进行登录验证,如果成功登录,将用户信息放到session中,然后转到先前请求的页面上.我们可以在index中将session中 的key—value打印出来,看看Spring Security 将用户信息如何放到session中的.用户使用 的key为: SPRING_SECURITY_LAST_USERNAME 对应的是 用户登陆时的用户名.
有明显的 缺陷:
B) 一般登录页面都是我们自己编写的,并且登录页面是不需要验证直接可以访问的。
Ok 创建自己的Login.jsp.
1. login.jsp
?
很明显的是 这个login.jsp 里的input 元素 name属下有些熟悉的值.
2.配置.(applicationContext.xml)?
到此就可以测试了 自己的 Login.jsp
testing...
那么你会发现一些不足的地方随之暴入出来....
C) 登陆时的错误信息如何显示 出来.
Spring Security 框架将所有的错误信息都定义成了异常,并且提供了国际化的资源文件。
这个资源文件在 spring-security-core-xxx.jar文件中
?
框架有提供的资源文件 我们可以使用 , 一个好的框架并不体现是他提供了什么 更为重要的他开放的接口 让用户获得更多的控制权 ,?
3.创建 massage_zh_CN.properties
AbstractUserDetailsAuthenticationProvider.badCredentials=\u60A8\u65E0\u6743\u8BBF\u95EE\u8BE5\u8D44\u6E90,\u8BF7\u767B\u5F55
//您无权访问该资源,请登录
更多定义 可以参考上框架提供的资源文件.
4 配置 .(applicationContext.xml)
??
5. 添加提示(login.jsp)?
再次Testing...
登陆错误将给出提示.!
依然是问题:
D) 密码配置在文件中 未加密..
密码以明文的形式出现在了配置文件中,这是非常危险的。所以我们可以将真实密码经过加密之后的结果放到配置文件中。这需要在配置文件中指明使用什么样的加密算法。
MD5是一种不可逆的加密算法,验证的时候,将用户输入的密码经过MD5加密之后的结果再与配置文件中配置的密文进行比较,如果相同则通过验证。
6.继续配置.(applicationContext.xml)
??
?
