版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_30553235/article/details/74971414

我使用的是jeecmsV8版本。

1.修改web.xml(/jeecms/WebContent/WEB-INF/web.xml)

修改JeeCmsAdmin这个servlet,把/jeeadmin/jeecms/*替换成你想要的后台访问路径。

注:此处替换的路径必须为三层或四层,否则会报错。(你可以去修改源码)

  1.  
    /*
  2.  
    * 获得第三个路径分隔符的位置
  3.  
    *
  4.  
    * @param request
  5.  
    * @throws IllegalStateException
  6.  
    * 访问路径错误,没有三(四)个'/'
  7.  
    */
  8.  
    private static String getURI(HttpServletRequest request)
  9.  
    throws IllegalStateException {
  10.  
    UrlPathHelper helper = new UrlPathHelper();
  11.  
    String uri = helper.getOriginatingRequestUri(request);
  12.  
    String ctxPath = helper.getOriginatingContextPath(request);
  13.  
    int start = 0, i = 0, count = 2;
  14.  
    if (!StringUtils.isBlank(ctxPath)) {
  15.  
    count++;
  16.  
    }
  17.  
    while (i < count && start != -1) {
  18.  
    start = uri.indexOf('/', start + 1);
  19.  
    i++;
  20.  
    }
  21.  
     
  22.  
    if (start <= 0) {
  23.  
    throw new IllegalStateException(
  24.  
    "admin access path not like '/jeeadmin/jeecms/...' pattern: "
  25.  
    + uri);
  26.  
    }
  27.  
    return uri.substring(start);
  28.  
    }

2.修改shiro配置文件(/jeecms/WebContent/WEB-INF/config/shiro-context.xml)

把shiro-context.xml配置文件里面的/jeeadmin/jeecms全部替换成你自己设置的后台访问路径 , 要和web.xml里设置的保持一致

shiro-context.xml中红色部分替换掉

  1.  
    <?xml version="1.0" encoding="UTF-8"?>
  2.  
    <beans xmlns="http://www.springframework.org/schema/beans"
  3.  
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:util="http://www.springframework.org/schema/util"
  4.  
    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.2.xsd
  5.  
    http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-3.2.xsd"
  6.  
    default-lazy-init="true">
  7.  
     
  8.  
    <bean id="shiroFilter" class="org.apache.shiro.spring.web.ShiroFilterFactoryBean">
  9.  
    <property name="securityManager" ref="securityManager" />
  10.  
    <property name="loginUrl" value="/login.jspx" />
  11.  
    <property name="successUrl" value="/" />
  12.  
    <property name="filters">
  13.  
    <util:map>
  14.  
    <entry key="authc" value-ref="authcFilter" />
  15.  
    <entry key="user" value-ref="userFilter" />
  16.  
    <entry key="logout" value-ref="logoutFilter" />
  17.  
    </util:map>
  18.  
    </property>
  19.  
    <!--anon匿名 authc登录认证 user用户已登录 logout退出filter-->
  20.  
    <property name="filterChainDefinitions">
  21.  
    <value>
  22.  
    *.jspx = anon
  23.  
    *.jhtml = anon
  24.  
    /member/forgot_password.jspx = anon
  25.  
    /member/password_reset.jspx = anon
  26.  
    /member/jobapply.jspx = anon
  27.  
    /login.jspx = authc
  28.  
    /logout.jspx = logout
  29.  
    /member/** = user
  30.  
    /jeeadmin/jeecms/login.do = authc
  31.  
    /jeeadmin/jeecms/logout.do = logout
  32.  
    /jeeadmin/jeecms/** =user
  33.  
    </value>
  34.  
    </property>
  35.  
    </bean>
  36.  
    <!-- Shiro Filter -->
  37.  
    <bean id="adminUrlBean" class="com.jeecms.core.security.CmsAdminUrl">
  38.  
    <property name="adminLogin" value="/jeeadmin/jeecms/login.do"/>
  39.  
    <property name="adminPrefix" value="/jeeadmin/jeecms/"/>
  40.  
    </bean>
  41.  
    <bean id="authcFilter" class="com.jeecms.core.security.CmsAuthenticationFilter" parent="adminUrlBean">
  42.  
    <property name="adminIndex" value="/jeeadmin/jeecms/index.do"/>
  43.  
    </bean>
  44.  
    <bean id="userFilter" class="com.jeecms.core.security.CmsUserFilter" parent="adminUrlBean"/>
  45.  
    <bean id="logoutFilter" class="com.jeecms.core.security.CmsLogoutFilter" parent="adminUrlBean"/>
  46.  
    <bean id="securityManager" class="org.apache.shiro.web.mgt.DefaultWebSecurityManager">
  47.  
    <property name="cacheManager" ref="shiroEhcacheManager"/>
  48.  
    <property name="rememberMeManager" ref="rememberMeManager"/>
  49.  
    <property name="realm" ref="authorizingRealm" />
  50.  
    </bean>
  51.  
    <bean id="authorizingRealm" class="com.jeecms.core.security.CmsAuthorizingRealm">
  52.  
    <property name="credentialsMatcher">
  53.  
    <bean class="org.apache.shiro.authc.credential.HashedCredentialsMatcher">
  54.  
    <property name="hashAlgorithmName" value="MD5"/>
  55.  
    <!-- true means hex encoded, false means base64 encoded -->
  56.  
    <property name="storedCredentialsHexEncoded" value="true"/>
  57.  
    <!-- 迭代次数 -->
  58.  
    <property name="hashIterations" value="1" />
  59.  
    </bean>
  60.  
    </property>
  61.  
    <property name="cmsUserMng" ref="cmsUserMng" />
  62.  
    </bean>
  63.  
    <bean id="shiroEhcacheManager" class="org.apache.shiro.cache.ehcache.EhCacheManager">
  64.  
    <!--
  65.  
    <property name="cacheManagerConfigFile">
  66.  
    <value>classpath:ehcache-shiro.xml</value>
  67.  
    </property>
  68.  
    -->
  69.  
    <property name="cacheManager">
  70.  
    <ref local="cacheManager"/>
  71.  
    </property>
  72.  
    </bean>
  73.  
    <bean id="rememberMeCookie" class="org.apache.shiro.web.servlet.SimpleCookie">
  74.  
    <constructor-arg value="rememberMe"/>
  75.  
    <property name="httpOnly" value="true"/>
  76.  
    <property name="maxAge" value="31536000"/><!-- 365天 -->
  77.  
    </bean>
  78.  
    <!-- rememberMe管理器 -->
  79.  
    <bean id="rememberMeManager" class="org.apache.shiro.web.mgt.CookieRememberMeManager">
  80.  
    <property name="cipherKey" value="#{T(org.apache.shiro.codec.Base64).decode('4AvVhmFLUs0KTA3Kprsdag==')}"/>
  81.  
    <property name="cookie" ref="rememberMeCookie"/>
  82.  
    </bean>
  83.  
    <!-- Enable Shiro Annotations for Spring-configured beans. Only run after -->
  84.  
    <!-- the lifecycleBeanProcessor has run: -->
  85.  
    <bean id="lifecycleBeanPostProcessor" class="org.apache.shiro.spring.LifecycleBeanPostProcessor" />
  86.  
    </beans>

到此,搞定!

个人理解,如有错误之处,还望各位指出.

jeecms 修改后台访问路径的更多相关文章

  1. jeecms怎么修改后台访问路径?

    1,修改后台访问路径: 如:http://localhost:8080/jeeadmin/jeecms/login.do 改:http://localhost:8080/hailou/index.do ...

  2. jeecms v9修改后台访问地址

    将jeeadmin/jeecms/index.do 改为admin/index.do为例 修改WebContent\WEB-INF\web.xml <servlet-mapping> &l ...

  3. 修改weblogic访问路径应用名称

    第一种:在应用WEB-INF文件夹下创建weblogic.xml文件,内容如下,其中<context-root>/abc</context-root>为路径上的应用名 < ...

  4. ecshop修改后台访问地址

    本文转自‘做个好男人’的博客. 打开data/config.php,找到define(’ADMIN_PATH’,’admin’),这里是定义后台目录的地方,把其中的admin换成你的后台自定义目录,如 ...

  5. 修改tomcat访问路径

    <Context path="/pc" docBase="/data/www/8084/kabao-pc-consume/" reloadable=&qu ...

  6. 更改yii框架入口文件位置,修改前后端访问路径

    将frontend/web/index.php复制到项目根目录,修改为: <?php defined('YII_DEBUG') or define('YII_DEBUG', true); def ...

  7. ecshop后台admin路径怎么修改

    ecshop后台admin路径怎么修改 ECSHOP教程/ ecshop教程网(www.ecshop119.com) 2013-03-25   ecshop如何修改后台admin路径? 大家都知道ec ...

  8. springboot系列三、springboot 单元测试、配置访问路径、多个配置文件和多环境配置,项目打包发布

    一.单元测试 生成的demo里面包含spring-boot-starter-test :测试模块,包括JUnit.Hamcrest.Mockito,没有的手动加上. <dependency> ...

  9. PHPCMS后台登陆路径修改方法(V9版)

    转自:http://hi.baidu.com/geek_cheng/item/b903ebe7b4ac3af9e0a5d4aa?qq-pf-to=pcqq.c2c 最新发布的PHPCMS V9由于采用 ...

随机推荐

  1. Jan&Feb 工作总结

    一.工作任务: 熟悉dcbi项目(运维经分系统),完成指定需求. 熟悉bi项目(数据分析平台),完成指定需求. steel circus 主机游戏官网制作. 一拳超人游戏预注册页wap手机端制作. 二 ...

  2. <Python基础>字典的基本操作

    ''' 小知识 1.字典的键只能是不可变数据类型:int 元组 bool str(可哈希) 字典查找数据会使用二分查找,会先用哈希表将键转化为数字然后进行查找 ''' s = { "name ...

  3. linq to sql any和all的区别

    Any说明:用于判断集合中是否有元素满足某一条件:不延迟.(若条件为空,则集合只要不为空就返回True,否则为False).1.简单形式:仅返回没有订单的客户:var q =from c in db. ...

  4. CycloneII lcell_comb 和 lcell_FF 的结构

    1,lcell_comb结构 2,lcell_FF结构 from : cycloneii_eda_fd.pdf

  5. BZOJ2741:[FOTILE模拟赛]L

    Description FOTILE得到了一个长为N的序列A,为了拯救地球,他希望知道某些区间内的最大的连续XOR和. 即对于一个询问,你需要求出max(Ai xor Ai+1 xor Ai+2 .. ...

  6. 数论整除——cf1059D

    用map是卡着过去的..题解用vector+离散化后常数小了十倍.. 总之就是把所有模数给保存下来然后离散化,再去匹配一下即可,最后有个细节 自己的 #include<bits/stdc++.h ...

  7. LUOGUP3498 [POI2010]KOR-Beads (哈希)

    传送门 解题思路 这是一道上周的考试题...当时考的时候看了一眼,"呀,这不是调和级数,nlogn么!!!" ,然后一写就写了个n^2的....结果边界还弄错40分滚蛋了..正解就 ...

  8. C#可扩展编程之MEF(四):见证奇迹的时刻

      前面三篇讲了MEF的基础和基本到导入导出方法,下面就是见证MEF真正魅力所在的时刻.如果没有看过前面的文章,请到我的博客首页查看. 前面我们都是在一个项目中写了一个类来测试的,但实际开发中,我们往 ...

  9. Linux 启动、关闭、重启服务的两种方式

    1.一种是可以使用service脚本来调度,如: service 服务名 startservice 服务名 stopservice 服务名 restart 2.第二种可以直接进入/etc/init.d ...

  10. json-lib解决死循环

    1.添加lazy=“false”(两个xml文件中都要添加) 2.设置过滤器