首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Jasperserver中添加多个登录页

在Jasperserver中添加多个登录页
EN

Stack Overflow用户
提问于 2013-05-14 13:58:05
回答 1查看 984关注 0票数 0

我想将多个登录页面添加到单个jasperserver中。我已经对代码进行了自定义,并将login1.jsp和login2.jsp添加到moudles/login/文件夹中。此外,我还在\jasperserver-war\src\main\webapp\WEB-INF\jasperserver-servlet.xml中添加了以下代码

豆class="org.springframework.beans.factory.config.PropertiesFactoryBean"> id="urlHandlerMapping“ jsFileViewContr jsCommContr jsCommContr jsCommContr

代码语言:javascript
复制
  <!-- js mac method name resolver -->
    <bean id="paramResolver" class="org.springframework.web.servlet.mvc.multiaction.PropertiesMethodNameResolver">
        <property name="mappings">
            <props>
                <prop key="/login1.html">entry</prop>
                <prop key="/home.html">homePage</prop>
                <prop key="/login.html">login</prop>

我还在JSCommonController.java包中向com.jaspersoft.jasperserver.war.control添加了以下代码。

公共ModelAndView login1(HttpServletRequest req,HttpServletResponse res)抛出ServletException { setupLoginPage(req); 返回新的ModelAndView (“模块/登录/登录”);} public ModelAndView login2(HttpServletRequest req,HttpServletResponse res)抛出ServletException { setupLoginPage(req); 返回新的ModelAndView(“模块/登录/登录”);}

我在重新构建服务器之后部署了服务器。但当我进入

localhost:8080/jasperserver/login1.html

它带我去

localhost:8080/jasperserver/login.html

在登录到这个页面后,我需要

localhost:8080/jasperserver/login1.html

但是,当我尝试登录此页面时,登录事件会成功地发生,但它会使我保持在同一个页面上。

有人知道如何在jasper服务器中添加多个登录页面吗??请帮帮我。

谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-05-15 07:29:14

我找到了一条路:),答案如下:

添加新登录页的过程:创建一个新的登录jsp页面。示例jasperserver-war/src/main/webapp/WEB-INF/jsp/modules/login/将其保存在entry.jsp中,在匿名页面部分的jasper-servlet.xml中的urlHandlerMapping bean部分中添加页面属性条目,如下所示:

代码语言:javascript
复制
<bean id="urlHandlerMapping" class="org.springframework.beans.factory.config.PropertiesFactoryBean">
     <property name="properties">
         <props>
            <prop key="/fileview/**">jsFileViewContr</prop>
             <!-- anonymous pages -->
             <prop key="/entry.html">jsCommContr</prop>
             <prop key="/login.html">jsCommContr</prop>
             <prop key="/logout.html">jsCommContr</prop>

还在paramResolver bean部分的同一个文件中添加以下代码。

代码语言:javascript
复制
<bean id="paramResolver"  class="org.springframework.web.servlet.mvc.multiaction.PropertiesMethodNameResolver">
     <property name="mappings">
         <props>
            <prop key="/entry.html">entry</prop>
                <prop key="/home.html">homePage</prop>
                    <prop key="/login.html">login</prop>

代码语言:javascript
复制
<prop key="/entry.html">jsCommContr</prop>

这将调用控制器servlet,它被映射为

代码语言:javascript
复制
<bean id="jsCommContr" class="com.jaspersoft.jasperserver.war.control.JSCommonController">

在com.jaspersoft.jasperserver.war.control.JSCommonController.java中添加以下代码

公共ModelAndView条目(HttpServletRequest req,HttpServletResponse res)抛出ServletException { setupLoginPage(req); 返回新的ModelAndView(“模块/登录/条目”);}

这将从文件夹模块/登录/ url的文件夹加载entry.jsp。

localhost:8080/jasperserver/entry.html

我们还必须在applicationContext web.xml中将此页面条目添加到filterInvocationInterceptor bean中。

修改applicationContext-security.xml如下:

代码语言:javascript
复制
<bean id="filterInvocationInterceptor" class="org.springframework.security.intercept.web.FilterSecurityInterceptor">
    <property name="authenticationManager">
        <ref bean="authenticationManager"/>
    </property>
    <property name="accessDecisionManager">
        <ref bean="httpRequestAccessDecisionManager"/>
    </property>
    <!-- <property name="runAsManager"><ref bean="runAsManager"/></property>  -->
    <property name="objectDefinitionSource">
        <value>
            CONVERT_URL_TO_LOWERCASE_BEFORE_COMPARISON
            PATTERN_TYPE_APACHE_ANT
            /entry.html=ROLE_ANONYMOUS,ROLE_USER,ROLE_ADMINISTRATOR
            /login.html=ROLE_ANONYMOUS,ROLE_USER,ROLE_ADMINISTRATOR
           /logout.html=ROLE_ANONYMOUS,ROLE_USER,ROLE_ADMINISTRATOR,IS_AUTHENTICATED_FULLY

再次构建war文件并将其重新部署到服务器上。现在你可以用

localhost:8080/jasperserver/entry.html

作为登录页面。若要更改登录页的UI,请自定义entry.jsp和pageSpecific.css。

档案地点:

/jasperserver/jasperserver-war/src/main/webapp/WEB-INF/jsp/modules/login/entry.jsp :- entry.jsp

jasperserver-servlet.xml :- /jasperserver/jasperserver-war/src/main/webapp/WEB-INF/jasperserver-servlet.xml

物理路径: /jasperserver/jasperserver-war-jar/src/main/java/com/jaspersoft/jasperserver/war/control/JSCommonController.java包路径: com.jaspersoft.jasperserver.war.control/ JSCommonController

应用程序上下文-安全性-web.xml :- /jasperserver/jasperserver-war/shared-config/applicationContext-security-web.xml

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16545215

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档