版权声明:本文为博主原创文章,未经博主允许不得转载。 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. window.location 对象中各种方法的用途

    一.简介 属性 描述 hash 从井号 (#) 开始的 URL(锚) host 主机名和当前 URL 的端口号 hostname 当前 URL 的主机名 href 完整的 URL pathname 当 ...

  2. Android中visibility属性

    Android开发中,大部分控件都有visibility这个属性,其属性有3个分别为“visible ”.“invisible”.“gone”.主要用来设置控制控件的显示和隐藏. 1) 可见(visi ...

  3. Daemon 守护线程(27-11)

    t2.setDaemon(True)不再等待里面的sleep(5). 当设成setDaemon(True)这个线程就不等了. 例子一: import threadingfrom time import ...

  4. 7_1.springboot2.x启动配置原理_1.创建SpringApplication对象

    环境准备 springboot2.1.9.idea2019. pom.xml 解析 几个重要的事件回调机制 配置在META-INF/spring.factories ApplicationContex ...

  5. 在windows中用cmd命令执行python无限循环程序如何停止

    在windows中用cmd命令测试python带有无限循环的程序,当想要终止时, 即linux中的Ctrl + D 相似的功能时可以用 Ctrl + Pause Break, 有FN功能键的可能要使用 ...

  6. 判断Paging File 的方法

    当前环境,MiniFilter 1:FsRtlIsPagingFile 参数是一个 FileObject 2:判断操作标识   SL_OPEN_PAGING_FILE FlagOn 宏可以直接做到,传 ...

  7. Crontab- Linux必学的60个命令

    1.作用 使用crontab命令可以修改crontab配置文件,然后该配置由cron公用程序在适当的时间执行,该命令使用权限是所有用户. 2.格式 crontab [ -u user ] 文件 cro ...

  8. BZOJ1597: [Usaco2008 Mar]土地购买——斜率优化

    题目大意: 将$n$个长方形分成若干部分,每一部分的花费为部分中长方形的$max_长*max_宽$(不是$max_{长*宽}$),求最小花费 思路: 首先,可以被其他长方形包含的长方形可以删去 然后我 ...

  9. Android开发 ExpandableListView 可折叠列表详解

    前言 在需要实现一个List的item需要包含列表的时候,我们就可以选择ExpandableListView. 其实这个View的原始设计还是ListView的那套.就是增加2层的ListView而已 ...

  10. 2016.9.10初中部上午NOIP普及组比赛总结

    2016.9.10初中部上午NOIP普及组比赛总结 链接:https://jzoj.net/junior/#contest/home/1340 好不爽!翻车了!不过排名差不多在中间偏上一点, 还好不是 ...