您所在的位置: 首页 > 读书频道 > 设计开发 > Java系列 >

7.5.2 显示用户身份验证信息

http://book.51cto.com  2008-07-27 14:33  [美]Craig Walls Ryan Breidenbach著/毕庆红/王军等译  人民邮电出版社  我要评论(0)
  • 摘要:《Spring in Action(第二版)中文版》第7章保护Spring,这一章介绍的是Spring Security、使用Servlet过滤器保护Web应用系统、基于数据库和LDAP进行身份认证以及透明地对方法调用进行保护,本小节为大家介绍显示用户身份验证信息。
  • 标签:Spring in Action  Spring  Servlet  Bean

7.5.2  显示用户身份验证信息

在上一小节中,我们给RoadRantz应用程序为通过身份验证的用户添加了一个欢迎消息。为简单起见,该消息被设置为“Welcome Motorist!”。那是一个好的开端,但是我们希望通过显示当前用户的登录名而不是“Motorist”,来使得该应用程序更具个性化。

幸运的是,当前用户的登录信息通常在从该用户的Authentication.getPrincipal()方法返回的那个对象中。我们需要的只是一种在JSP中访问该重要对象的便利方法。那就是<authz:authentication>标签的目的所在。

<authz:authentication>标签把从Authentication.getPrincipal()返回的那个对象的属性呈递给JSP输出。Authentication.getPrincipal()通常返回Spring Security的org.acegisecurity. userdetails.UserDetails接口的一个实现,包括一个getUsername()方法。因此,要想显示UserDetails对象的username属性,我们需要做的只是添加下列<authz:authentication>标签:

  


这里的operation属性有一点使人迷惑,似乎表明它的目的是调用一个方法。确实,它调用一个方法,但是更加特别的是,它调用在operation属性中指定名称的那个属性的getter方法。

在默认情况下,这个operation属性值的第一个字母将被大写,而且其结果被预先与get一同考虑,以生成将被调用的那个方法的名称。在这里,getUsername()方法被调用,同时它的返回值被呈递给JSP输出。

现在,读者已经了解如何利用Spring Security的过滤器来保护Web应用程序。不过,在结束Spring Security之前,让我们快速看一下如何利用Spring Security和AOP保护方法调用。

【责任编辑:夏书 TEL:(010)68476606】

回书目   上一节   下一节
NetBeans开发工具应用专题
Spring开源框架技术
Perl实例精解(第4版)
SQL Server 2005 Integration Services专家教程
WPF高级编程
 
 验证码: (点击刷新验证码)   匿名发表
  • 网络工程师考试案例动手实验营

  • 作者:郭春柱
  • 本书依据2009年版《网络工程师考试大纲》的考核要求,深入研究了历年网络工程师考试试题的命题风格和试题结构,对考查的知识点..
Copyright©2005-2008 51CTO.COM 版权所有