JSPWiki数据迁移以及同CAS整合

前端之家收集整理的这篇文章主要介绍了JSPWiki数据迁移以及同CAS整合前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

1 JSPWiki数据迁移 @H_502_11@

1.1 内容数据迁移 @H_502_11@

1. 配置内容数据源 @H_502_11@

Tomcat.xml添加如下内容@H_502_11@

<Resource name="PostgresqlDataSource" @H_502_11@

auth="Container"@H_502_11@

type="javax.sql.DataSource" driverClassName="org.postgresql.Driver"@H_502_11@

url="jdbc:postgresql://192.168.0.180:5432/jspwiki_trial"@H_502_11@

username="pgsql"@H_502_11@

password="javac"@H_502_11@

maxActive="5"@H_502_11@

maxIdle="3"@H_502_11@

maxWait="-1"/>@H_502_11@

@H_502_11@

2. 复制JDBC插件lib @H_502_11@

从下载的包中复制JDBCProvider.jarWEB-INF下的lib目录中@H_502_11@

@H_502_11@

3. /WEB-INF下创建文件jdbcprovider.properties @H_502_11@

@H_502_11@

connectionProvider = com.forthgo.jspwiki.jdbcprovider.JNDIConnectionProvider@H_502_11@

jndi.datasource = PostgresqlDataSource@H_502_11@

@H_502_11@

database.flavour = pgsql ## POSTGREsql; other,MysqL,oracle etc.@H_502_11@

## Copy the jdbcprovider.<flavour>.properties file to .../WEB-INF@H_502_11@

driver.useUnicode = true@H_502_11@

driver.characterEncoding = utf8@H_502_11@

driver.connectionCollation = utf8_bin@H_502_11@

database.create = false@H_502_11@

continuationEditMinutes = 15@H_502_11@

@H_502_11@

4. 复制文件 @H_502_11@

从下载的包中复制文件jdbcprovider.pgsql.properties/WEB-INF目录下@H_502_11@

@H_502_11@

5. 修改jspwiki.properties @H_502_11@

注释如下内容 @H_502_11@

jspwiki.pageProvider = FileSystemProvider@H_502_11@

jspwiki.fileSystemProvider.pageDir = /p/web/www-data/jspwiki/@H_502_11@

jspwiki.attachmentProvider = BasicAttachmentProvider@H_502_11@

jspwiki.basicAttachmentProvider.storageDir = /p/web/www-data/jspwiki/@H_502_11@

@H_502_11@

文件添加如下内容@H_502_11@

jspwiki.pageProvider = com.forthgo.jspwiki.jdbcprovider.JDBCPageProvider@H_502_11@

jspwiki.attachmentProvider = com.forthgo.jspwiki.jdbcprovider.JDBCAttachmentProvider@H_502_11@

jspwiki.jdbcprovider.configuration=jdbcprovider.properties@H_502_11@

@H_502_11@

6. 新建数据库 @H_502_11@

在新建180上新建数据库jspwiki_trial,字符集编码UTF-8@H_502_11@

脚本如下:@H_502_11@

CREATE TABLE "WIKI_PAGE"@H_502_11@

(@H_502_11@

"NAME" character varying(100) NOT NULL,@H_502_11@

"VERSION" integer NOT NULL,160) none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"> "CHANGE_TIME" timestamp without time zone,160) none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"> "CHANGE_BY" character varying(50),160) none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"> "CHANGE_NOTE" character varying(100),160) none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"> "CONTENT" text@H_502_11@

);@H_502_11@

ALTER TABLE ONLY "WIKI_PAGE"@H_502_11@

ADD CONSTRAINT "WIKI_PAGE_UNIQUE_KEY" UNIQUE ("NAME","VERSION");@H_502_11@

ADD CONSTRAINT "WIKI_PAGE_PKEY" PRIMARY KEY ("NAME",160) none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"> @H_502_11@

CREATE INDEX "WIKI_PAGE_CHANGE_TIME_IX" ON "WIKI_PAGE" USING btree ("CHANGE_TIME");@H_502_11@

CREATE TABLE "WIKI_ATT"@H_502_11@

"PAGENAME" character varying(100) NOT NULL,160) none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"> "FILENAME" character varying(100) NOT NULL,160) none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"> "CHANGE_BY" character varying(50),160) none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"> "LENGTH" integer,160) none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"> "DATA" bytea@H_502_11@

ALTER TABLE ONLY "WIKI_ATT"@H_502_11@

ADD CONSTRAINT "WIKI_ATT_UNIQUE_KEY" UNIQUE ("PAGENAME","FILENAME",160) none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"> ADD CONSTRAINT "WIKI_ATT_PKEY" PRIMARY KEY ("PAGENAME",160) none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;">CREATE INDEX "WIKI_ATT_CHANGE_TIME_IX" ON "WIKI_ATT" USING btree ("CHANGE_TIME");@H_502_11@

@H_502_11@

@H_502_11@

12 用户数据迁移 @H_502_11@

1. 新建数据表 @H_502_11@

@H_502_11@

create table wiki_users (@H_502_11@

email varchar(100),160) none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"> full_name varchar(100),160) none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"> login_name varchar(100) not null primary key,160) none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"> password varchar(100),160) none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"> wiki_name varchar(100),160) none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"> created timestamp,160) none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"> modified timestamp@H_502_11@

);@H_502_11@

create table wiki_role (@H_502_11@

login_name varchar(100) not null,160) none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"> wiki_role varchar(100) not null@H_502_11@

create table wiki_groups (@H_502_11@

name varchar(100) not null primary key,160) none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"> creator varchar(100),160) none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"> modifier varchar(100),160) none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;">create table wiki_member (@H_502_11@

name varchar(100) not null,160) none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"> wiki_member varchar(100) not null,160) none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"> constraint wiki_member_pk@H_502_11@

primary key (name,wiki_member)@H_502_11@

grant select,insert,update,delete on wiki_users to pgsql;@H_502_11@

sql;@H_502_11@

sql;@H_502_11@

sql;@H_502_11@

@H_502_11@

2. 配置用户数据源 @H_502_11@

用户数据源可以与内容数据源相同。如果用不同的数据源,同第一节所示,在Tomcatserver.xml添加数据源即可。本例使用相同的数据源。 @H_502_11@

@H_502_11@

3. 修改jspwiki.properties文件 @H_502_11@

注释如下内容@H_502_11@

jspwiki.groupdatabase = com.ecyrd.jspwiki.auth.authorize.XMLGroupDatabase@H_502_11@

jspwiki.userdatabase = com.ecyrd.jspwiki.auth.user.XMLUserDatabase@H_502_11@

jspwiki.userdatabase.isSharedWithContainer = false@H_502_11@

@H_502_11@

添加如下内容@H_502_11@

jspwiki.groupdatabase =com.ecyrd.jspwiki.auth.authorize.JDBCGroupDatabase@H_502_11@

jspwiki.userdatabase = com.ecyrd.jspwiki.auth.user.JDBCUserDatabase@H_502_11@

jspwiki.userdatabase.datasource=PostgresqlDataSource@H_502_11@

jspwiki.groupdatabase.datasource=PostgresqlDataSource@H_502_11@

jspwiki.userdatabase.table=wiki_users@H_502_11@

jspwiki.userdatabase.email=email@H_502_11@

jspwiki.userdatabase.fullName=full_name@H_502_11@

jspwiki.userdatabase.loginName=login_name@H_502_11@

jspwiki.userdatabase.password=password@H_502_11@

jspwiki.userdatabase.wikiName=wiki_name@H_502_11@

jspwiki.userdatabase.created=created@H_502_11@

jspwiki.userdatabase.modified=modified@H_502_11@

jspwiki.userdatabase.roleTable=wiki_role@H_502_11@

jspwiki.userdatabase.role=wiki_role@H_502_11@

jspwiki.groupdatabase.table=wiki_groups@H_502_11@

jspwiki.groupdatabase.membertable=wiki_member@H_502_11@

jspwiki.groupdatabase.created=created@H_502_11@

jspwiki.groupdatabase.creator=creator@H_502_11@

jspwiki.groupdatabase.name=name@H_502_11@

jspwiki.groupdatabase.member=wiki_member@H_502_11@

jspwiki.groupdatabase.modified=modified@H_502_11@

jspwiki.groupdatabase.modifier=modifier@H_502_11@

jspwiki.userdatabase.isSharedWithContainer = true@H_502_11@

@H_502_11@

4. 注册管理员用户 @H_502_11@

访问:http://localhost:8080/wiki/后,单击右上角登录按钮,后选择注册新用户@H_502_11@

登录名: admin@H_502_11@

密码: 123456@H_502_11@

密码验证: 123456@H_502_11@

名字: Administrator@H_502_11@

@H_502_11@

创建组Admin,后将Administrator加入到Admin组中@H_502_11@

@H_502_11@

注意:@H_502_11@

在将数据存储路径改为数据库后,禁止访问Install.jsp页面,否则会丢失修改@H_502_11@

@H_502_11@

2 CAS整合 @H_502_11@

2.1 建立CAS Server @H_502_11@

CAS学习笔记中建立 @H_502_11@

@H_502_11@

2.2 配置CAS Client @H_502_11@

1. CAS SSL证书导入到jspWiki所在的JDK @H_502_11@

1)复制CAS服务器上tomcatsso.crt 文件%JAVA_HOME%/jre/lib/security@H_502_11@

2)然后用下面命令将证书tomcatsso.crt 文件导入到cacerts文件中。@H_502_11@

Cd %JAVA_HOME%/jre/lib/security@H_502_11@

keytool -import -alias tomcatsso -file tomcatsso.crt -keystore cacerts -storepass changeit @H_502_11@

@H_502_11@

2. 插入CAS CLIENT文件 @H_502_11@

复制cas-client-core- 3.1.3 .jarspring.jar2文件WEB-INF/lib目录文件夹下 @H_502_11@

@H_502_11@

3. 修改web.xml文件 @H_502_11@

web.xml添加CAS Filter@H_502_11@

<context-param>@H_502_11@

<param-name>contextConfigLocation</param-name>@H_502_11@

<param-value>/WEB-INF/spring-appContext.xml</param-value>@H_502_11@

</context-param>@H_502_11@

<filter>@H_502_11@

<filter-name>CAS Single Sign Out Filter</filter-name>@H_502_11@

<filter-class>org.jasig.cas.client.session.SingleSignOutFilter</filter-class>@H_502_11@

</filter>@H_502_11@

<filter-mapping>@H_502_11@

<filter-name>CAS Single Sign Out Filter</filter-name>@H_502_11@

<url-pattern>/*</url-pattern>@H_502_11@

</filter-mapping>@H_502_11@

<listener>@H_502_11@

<listener-class>org.jasig.cas.client.session.SingleSignOutHttpSessionListener</listener-class>@H_502_11@

</listener>@H_502_11@

@H_502_11@

<filter-name>CAS Authentication Filter</filter-name>@H_502_11@

<filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>@H_502_11@

<init-param>@H_502_11@

<param-name>targetBeanName</param-name>@H_502_11@

<param-value>casAuthenticationFilter</param-value>@H_502_11@

</init-param>@H_502_11@

<filter-name>CAS Validation Filter</filter-name>@H_502_11@

<param-value>casValidationFilter</param-value>@H_502_11@

</init-param>@H_502_11@

<filter-name>CAS HttpServletRequestWrapperFilter</filter-name>@H_502_11@

<filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>@H_502_11@

<init-param>@H_502_11@

<param-name>targetBeanName</param-name>@H_502_11@

<param-value>casHttpServletRequestWrapperFilter</param-value>@H_502_11@

<url-pattern>/Login.jsp</url-pattern>@H_502_11@

<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>@H_502_11@

</listener>@H_502_11@

@H_502_11@

4. 插入spring-appContext.xml @H_502_11@

WEB-INF目录下添加spring-appContext.xml文件@H_502_11@

<?xml version="1.0" encoding="UTF-8"?>@H_502_11@

<beans xmlns="http://www.springframework.org/schema/beans"@H_502_11@

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"@H_502_11@

xsi:schemaLocation="http://www.springframework.org/schema/beans @H_502_11@

http://www.springframework.org/schema/beans/spring-beans-2.0.xsd">@H_502_11@

<bean id="casAuthenticationFilter"@H_502_11@

class="org.jasig.cas.client.authentication.AuthenticationFilter">@H_502_11@

<property name ="casServerLoginUrl" value="https://www.test.com:443/cas-server/login"/>@H_502_11@

<property name ="serverName" value="http://192.168.0.116:8080"/>@H_502_11@

</bean>@H_502_11@

@H_502_11@

<bean id="casValidationFilter"@H_502_11@

class="org.jasig.cas.client.validation.Cas20ProxyReceivingTicketValidationFilter">@H_502_11@

<property name="ticketValidator">@H_502_11@

<ref bean="Cas20ProxyTicketValidator"/>@H_502_11@

</property> @H_502_11@

<property name="useSession" value="true"/>@H_502_11@

<property name="serverName" value="http://192.168.0.116:8080"/>@H_502_11@

<property name="redirectAfterValidation" value="false"/>@H_502_11@

</bean>@H_502_11@

@H_502_11@

<bean id="Cas20ProxyTicketValidator"@H_502_11@

class="org.jasig.cas.client.validation.Cas20ProxyTicketValidator">@H_502_11@

<constructor-arg index="0" value="https://www.test.com:443/cas-server" />@H_502_11@

<bean id="casHttpServletRequestWrapperFilter"@H_502_11@

class="org.jasig.cas.client.util.HttpServletRequestWrapperFilter"/>@H_502_11@

</beans>@H_502_11@

@H_502_11@

5. 修改jspWikiLogin.jsp文件 @H_502_11@

注释掉@H_502_11@

@H_502_11@

/* @H_502_11@

if( wikiSession.isAuthenticated() )@H_502_11@

{@H_502_11@

response.sendError( HttpServletResponse.SC_FORBIDDEN,@H_502_11@

rb.getString("login.error.noaccess") );@H_502_11@

return;@H_502_11@

}@H_502_11@

*/@H_502_11@

@H_502_11@

6. 修改jspWikilogout.jsp文件 @H_502_11@

response.sendRedirect("https://www.test.com:443/cas-server/logout?url=http://192.168.0.116:8080/wiki");@H_502_11@

猜你在找的Postgre SQL相关文章