aiheng1988
ahern88
2011-06-23 18:40

如何使用Spring Security?不知道它的原理,请指教

已采纳

我用的是Spring Security3.1的版本,好像是RC2评估版的,然后下载解压缩发现里面有两个war文件,也就是官网给的Demo,可是照着Demo做,根本不知道它的原理,而且根本不知道怎样把它集成到我自己的应用上来,也不知道怎样使用自己的登录页面去集成它,我使用的Spring3.1的版本,控制层用的是Struts2,持久层用的是Hibernate3,基本的框架都搭好了,我把基本的配置贴给大家看啊。
[color=red]还有一个我想问大侠的就是,用Spring Security方便做那种多用户博客这样的系统吗?[/color]
首先看web.xml的配置:
<?xml version="1.0" encoding="UTF-8"?>
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">

<context-param>
   <param-name>contextConfigLocation</param-name>
   <param-value>classpath:applicationContext*.xml</param-value>
</context-param>

<listener>
      <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>

<filter>
    <filter-name>struts2</filter-name>
    <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>   
<filter-mapping>
    <filter-name>struts2</filter-name>
    <url-pattern>/*</url-pattern>
</filter-mapping>

<filter>
    <filter-name>encoding</filter-name>
    <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
    <init-param>
        <param-name>encoding</param-name>
        <param-value>UTF-8</param-value>
    </init-param>
</filter>
<filter-mapping>
    <filter-name>encoding</filter-name>
    <url-pattern>/*</url-pattern>
</filter-mapping>


<filter>
     <filter-name>OpenSessionInViewFilter</filter-name>
     <filter-class>org.springframework.orm.hibernate3.support.OpenSessionInViewFilter</filter-class>
</filter>
<filter-mapping>
        <filter-name>OpenSessionInViewFilter</filter-name>
        <url-pattern>/*</url-pattern>
</filter-mapping>

<!-- 配置Spring Security -->
<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>

看applicationContext-Security.xml文件的配置:
<?xml version="1.0" encoding="UTF-8"?>
xmlns:beans="http://www.springframework.org/schema/beans"
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.0.xsd
http://www.springframework.org/schema/security http://www.springframework.org/schema/security/spring-security-3.1.xsd">

<!-- 配置权限 -->












/beans:beans

现在我可以实现敲入login.jsp页面跳入首页。然后浏览器上的地址变成spring_security_login
为什么会这样子,我怎样才能通过自己的登录页面实现权限的控制啊,请指教。谢谢

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

1条回答

  • liukaihandsome liukaihandsome 10年前

    spring_security_login 是springsecurity默认的
    你可以在springsecurity的配置页面中自定义登录action
    另外springsecurity适用于blog之类的系统
    但是说真的springsecurity的学习曲线很高
    如果没人带的话,至少要1个月才摸得到门槛

    点赞 评论 复制链接分享

相关推荐