2013-05-14 2 views
0

Я хочу добавить несколько страниц входа в систему на одном сервере jasperserver. Я настроил код и добавил login1.jsp и login2.jsp в moudles/login/folder. также я добавил следующий код в \ JasperServer-война \ SRC \ главная \ WebApp \ WEB-INF \ JasperServer-servlet.xmlДобавление нескольких страниц входа в Jasperserver

боб ID = "urlHandlerMapping" класс = "org.springframework.beans.factory .config.PropertiesFactoryBean ">

<property name="properties"> 
     <props> 
      <prop key="/fileview/**">jsFileViewContr</prop> 

      <!-- anonymous pages --> 
      <prop key="/login1.html">jsCommContr</prop> 
      <prop key="/login.html">jsCommContr</prop> 
      <prop key="/logout.html">jsCommContr</prop> 

и

<!-- 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 разреш) броски ServletException { setupLoginPage (REQ);

return new ModelAndView("modules/login/login"); 
} 

общественных ModelAndView Имя_входа2 (HttpServletRequest REQ, HttpServletResponse разреш) броски ServletException { setupLoginPage (REQ);

return new ModelAndView("modules/login/login"); 
} 

я развернут сервер после rebuilting его. но когда я вхожу

локальный: 8080/JasperServer/login1.html

он берет меня

локальный: 8080/JasperServer/login.html

, и после авторизации на этой странице мне потребуется

локальный: 8080/JasperServer/login1.html

, но когда я пытаюсь войти в систему на этой странице авторизации событие встречается, успешно, но это держит меня на той же странице.

Кто-нибудь знает, как добавить несколько страниц входа на сервер jasper? Пожалуйста, помогите мне.

Спасибо.

ответ

1

Я нашел путь для него :) и ответ заключается в следующем:

Процедура добавления новой страницы входа в систему: Создать новую страницу Войти Jsp. Пример entry.jsp Сохраните его в jasperserver-war/src/main/webapp/WEB-INF/jsp/modules/login/ Добавить запись свойства страницы в urlHandlerMapping bean section в jasper-servlet.xml в разделе анонимных страниц следующим образом:

<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> 

Также добавьте следующий код в тот же файл в разделе bean section paramResolver.

<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> 

<prop key="/entry.html">jsCommContr</prop> 

Это будет вызывать сервлет-контроллер, который преобразуется в

<bean id="jsCommContr" class="com.jaspersoft.jasperserver.war.control.JSCommonController"> 

Добавьте следующий код в com.jaspersoft.jasperserver.war.control.JSCommonController.java

Публичная запись ModelAndView (HttpServletRequest req, HttpServletRespon se res) throws ServletException { setupLoginPage (req);

return new ModelAndView("modules/login/entry"); 
} 

Это загрузит entry.jsp из модулей папки/имя/папку для URL

локальный: 8080/JasperServer/entry.html

Мы также должны добавить этот вход страницы в фильтрInvocationInterceptor bean в applicationContext-security-web.xml

Изменить применение nContext-security.xml следующим образом:

<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 

Снова создайте военный файл и передислоцируйте его на сервер. Теперь вы можете использовать

Localhost: 8080/JasperServer/entry.html

в качестве страницы входа. Чтобы изменить UI страницы входа, настройте entry.jsp и pageSpecific.css.

Места расположения файлов:

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

JasperServer-сервлет .xml: - /jasperserver/jasperserver-war/src/main/webapp/WEB-INF/jasperserver-servlet.xml

JSCommonController.java: - Физический путь:/JasperServer/JasperServer война-банка/SRC/main/java/com/jaspersoft/jasperserver/war/control/JSCommonController.java Путь к упаковке: com.jaspersoft.jasperserver.war.control/JSCommonContro Мюллером

ApplicationContext-безопасности web.xml: - /jasperserver/jasperserver-war/shared-config/applicationContext-security-web.xml

Смежные вопросы