Spring-Shiro 框架使用说明

在开源中国上发现一个简单好用的集成框架,地址:https://www.oschina.net/p/spring-shiro-training ,项目中已经有了基本的权限管理,正好手头有一个小型的项目,于是直接在这个基础上开发。

1. 开发环境搭建

开发环境:JKD7+Tomcat7+Eclipse4.4+MySQL
运行源代码提示如下错误:



解决办法:
在pom.xml中添加下面的依赖

        <dependency>
            <groupId>taglibs</groupId>
            <artifactId>standard</artifactId>
            <version>1.1.2</version>
        </dependency>

参考:http://xyly624.blog.51cto.com/842520/859833

2. 框架集成Webservice

我的项目需要增加集成Webservice功能,直接参考这个地址( http://blog.csdn.net/hbsong75/article/details/41207585 )进行配置,没有成功,可能是我的开发环境与文章作者的环境有些差别。又经过半天的努力终于配置好了,记录过程如下:

2.1 添加依赖包

在pom.xml中添加依赖包

        <!--cxf webservice 集成配置 -->
        <dependency>
            <groupId>org.apache.cxf</groupId>
            <artifactId>cxf-rt-frontend-jaxws</artifactId>
            <version>${cxf.version}</version>
        </dependency>
        <dependency>
            <groupId>org.apache.cxf</groupId>
            <artifactId>cxf-rt-frontend-jaxrs</artifactId>
        <version>${cxf.version}</version>
        </dependency>
        <dependency>
        <groupId>org.apache.cxf</groupId>
            <artifactId>cxf-rt-transports-http</artifactId>
            <version>${cxf.version}</version>
        </dependency>

2.2 版本号

cxf 版本号注意要填写3.0.3,我用了其他的版本jar包下载不下来

    <cxf.version>3.0.3</cxf.version>

2.3 在web.xml文件中添加servlet

    <servlet>
        <servlet-name>cxf</servlet-name>
        <servlet-class>org.apache.cxf.transport.servlet.CXFServlet</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>cxf</servlet-name>
        <url-pattern>/services/*</url-pattern>
    </servlet-mapping>

2.4 spring-cxf.xml

spring目录下spring-cxf.xml文件中的内容这样填写,指明要发布的webservice

       <jaxws:server id="mobileService" address="/mobile">
              <jaxws:serviceBean>
                     <ref bean="mobileServiceImpl"/>
              </jaxws:serviceBean>
       </jaxws:server>
      
       <bean id="mobileServiceImpl" class="com.wangzhixuan.webservice.impl.MobileServiceImpl"/>

结合前面web.xml指定的路径,则webservice的访问地址为http://localhost:8080/项目名/services/mobile?wsdl
这样还是不能访问,需要在拦截器中把webservice访问放行

2.5 不要让Shiro拦截Webservice

    /services = anon <!-- webservice的链接不需要进行认证 -->
    /services/** = anon <!-- webservice ws后面的所有链接都不进行认证 -->
spring-shiro.xml文件截图

3.添加JSON包

我的项目中还需要打包和解析JSON数据,maven中增加相关jar包。pom.xml中这样填写

<dependency>
    <groupId>net.sf.json-lib</groupId>
    <artifactId>json-lib</artifactId>
    <version>2.4</version>
    <classifier>jdk15</classifier>
</dependency>

注意:JDK版本要填写jdk15,虽然我的项目用的是JDK7。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容