GWT:
com.google.gwt.user.client.Window
1、获取路径
Window.Location.getHost();//localhost:8080b、gwt还可以通过先将页面内容清空,然后重新加载新的内容实现在一个页面中显示不同内容。Window.Location.replace();
在resouce中通过request获取登录用户名:
HttpServletRequest httpServletRequest = ServletUtils.getRequest(getRequest());
this.name = httpServletRequest.getRemoteUser();
System.out.println(name);
http://www.smartclient.com/smartgwt/showcase/#main包括N多的gwt demo和完整源码。
CAS:
单点登录:
<bean class="org.jasig.cas.authentication.handler.support.SimpleTestUsernamePasswordAuthenticationHandler" />
我们可以将其注释掉,换成我们希望的一个 AuthenticationHandler,比如,使用QueryDatabaseAuthenticationHandler 或 SearchModeSearchDatabaseAuthenticationHandler 可以分别选取
<bean class="org.jasig.cas.adaptors.jdbc.QueryDatabaseAuthenticationHandler">
<property name="dataSource" ref="casDataSource" />
<property name="sql" value="select password from xt_yhxx where lower(YHMC) = lower(?)" />
<property name="passwordEncoder" ref="myPasswordEncoder"/>
</bean>
需要在cas中加入casclient.jar和cas-core-support.jar.
单点登出:
普通项目(没有结合Spring Security)的可以在web.xml(客户端)中加入如下代码:
<filter>
<filter-name>CAS Single Sign Out Filter</filter-name>
<filter-class>org.jasig.cas.client.session.SingleSignOutFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>CAS Single Sign Out Filter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<listener>
<listener-class>
org.jasig.cas.client.session.SingleSignOutHttpSessionListener
</listener-class>
</listener>
cas单点退出直接链接到服务器的logout地址,为了使退出后能返回原来的项目,需要做的修改。
1.服务端cas-servlet.xml配置
<bean id="logoutController" class="org.jasig.cas.web.LogoutController" ... .../>
增加属性 p:followServiceRedirects="true"
2.退出的链接后加上?service=希望退出后返回的地址
例如 client1的退出 <a href="http://cas.google.com.cn/logout?service=http://client1.google.com.cn">退出</a>
client2的退出 <a href="http://cas.google.com.cn/logout?service=http://client2.google.com.cn">退出</a>