rename prefix singleSign to cas

This commit is contained in:
thinkgem
2018-01-07 22:30:08 +08:00
parent c629a2005a
commit d08b54893c
11 changed files with 1437 additions and 1403 deletions

View File

@@ -11,8 +11,8 @@
</page_setting> </page_setting>
<category_index>0</category_index> <category_index>0</category_index>
<zoom>1.0</zoom> <zoom>1.0</zoom>
<x>3166</x> <x>3413</x>
<y>1170</y> <y>1172</y>
<default_color> <default_color>
<r>128</r> <r>128</r>
<g>128</g> <g>128</g>
@@ -12959,6 +12959,19 @@
</column> </column>
</columns> </columns>
</inidex> </inidex>
<inidex>
<full_text>false</full_text>
<non_unique>true</non_unique>
<name>idx_sys_msg_pushw_imp</name>
<type></type>
<description></description>
<columns>
<column>
<id>013bfa07b771054f43105d72d01324d96518fc38</id>
<desc>false</desc>
</column>
</columns>
</inidex>
</indexes> </indexes>
<complex_unique_key_list> <complex_unique_key_list>
</complex_unique_key_list> </complex_unique_key_list>
@@ -13833,6 +13846,19 @@
</column> </column>
</columns> </columns>
</inidex> </inidex>
<inidex>
<full_text>false</full_text>
<non_unique>true</non_unique>
<name>idx_sys_msg_push_imp</name>
<type></type>
<description></description>
<columns>
<column>
<id>385ac7698fd3d6123c18f7cd819a83e80313f614</id>
<desc>false</desc>
</column>
</columns>
</inidex>
</indexes> </indexes>
<complex_unique_key_list> <complex_unique_key_list>
</complex_unique_key_list> </complex_unique_key_list>

View File

@@ -75,6 +75,7 @@ DROP INDEX idx_sys_msg_push_ps;
DROP INDEX idx_sys_msg_push_rs; DROP INDEX idx_sys_msg_push_rs;
DROP INDEX idx_sys_msg_push_bk; DROP INDEX idx_sys_msg_push_bk;
DROP INDEX idx_sys_msg_push_bt; DROP INDEX idx_sys_msg_push_bt;
DROP INDEX idx_sys_msg_push_imp;
DROP INDEX idx_sys_msg_pushw_type; DROP INDEX idx_sys_msg_pushw_type;
DROP INDEX idx_sys_msg_pushw_rc; DROP INDEX idx_sys_msg_pushw_rc;
DROP INDEX idx_sys_msg_pushw_uc; DROP INDEX idx_sys_msg_pushw_uc;
@@ -84,6 +85,7 @@ DROP INDEX idx_sys_msg_pushw_ps;
DROP INDEX idx_sys_msg_pushw_rs; DROP INDEX idx_sys_msg_pushw_rs;
DROP INDEX idx_sys_msg_pushw_bk; DROP INDEX idx_sys_msg_pushw_bk;
DROP INDEX idx_sys_msg_pushw_bt; DROP INDEX idx_sys_msg_pushw_bt;
DROP INDEX idx_sys_msg_pushw_imp;
DROP INDEX idx_sys_msg_tpl_key; DROP INDEX idx_sys_msg_tpl_key;
DROP INDEX idx_sys_msg_tpl_type; DROP INDEX idx_sys_msg_tpl_type;
DROP INDEX idx_sys_msg_tpl_status; DROP INDEX idx_sys_msg_tpl_status;
@@ -906,6 +908,7 @@ CREATE INDEX idx_sys_msg_push_ps ON js_sys_msg_push (push_status);
CREATE INDEX idx_sys_msg_push_rs ON js_sys_msg_push (read_status); CREATE INDEX idx_sys_msg_push_rs ON js_sys_msg_push (read_status);
CREATE INDEX idx_sys_msg_push_bk ON js_sys_msg_push (biz_key); CREATE INDEX idx_sys_msg_push_bk ON js_sys_msg_push (biz_key);
CREATE INDEX idx_sys_msg_push_bt ON js_sys_msg_push (biz_type); CREATE INDEX idx_sys_msg_push_bt ON js_sys_msg_push (biz_type);
CREATE INDEX idx_sys_msg_push_imp ON js_sys_msg_push (is_merge_push);
CREATE INDEX idx_sys_msg_pushw_type ON js_sys_msg_push_wait (msg_type); CREATE INDEX idx_sys_msg_pushw_type ON js_sys_msg_push_wait (msg_type);
CREATE INDEX idx_sys_msg_pushw_rc ON js_sys_msg_push_wait (receive_code); CREATE INDEX idx_sys_msg_pushw_rc ON js_sys_msg_push_wait (receive_code);
CREATE INDEX idx_sys_msg_pushw_uc ON js_sys_msg_push_wait (receive_user_code); CREATE INDEX idx_sys_msg_pushw_uc ON js_sys_msg_push_wait (receive_user_code);
@@ -915,6 +918,7 @@ CREATE INDEX idx_sys_msg_pushw_ps ON js_sys_msg_push_wait (push_status);
CREATE INDEX idx_sys_msg_pushw_rs ON js_sys_msg_push_wait (read_status); CREATE INDEX idx_sys_msg_pushw_rs ON js_sys_msg_push_wait (read_status);
CREATE INDEX idx_sys_msg_pushw_bk ON js_sys_msg_push_wait (biz_key); CREATE INDEX idx_sys_msg_pushw_bk ON js_sys_msg_push_wait (biz_key);
CREATE INDEX idx_sys_msg_pushw_bt ON js_sys_msg_push_wait (biz_type); CREATE INDEX idx_sys_msg_pushw_bt ON js_sys_msg_push_wait (biz_type);
CREATE INDEX idx_sys_msg_pushw_imp ON js_sys_msg_push_wait (is_merge_push);
CREATE INDEX idx_sys_msg_tpl_key ON js_sys_msg_template (tpl_key); CREATE INDEX idx_sys_msg_tpl_key ON js_sys_msg_template (tpl_key);
CREATE INDEX idx_sys_msg_tpl_type ON js_sys_msg_template (tpl_type); CREATE INDEX idx_sys_msg_tpl_type ON js_sys_msg_template (tpl_type);
CREATE INDEX idx_sys_msg_tpl_status ON js_sys_msg_template (status); CREATE INDEX idx_sys_msg_tpl_status ON js_sys_msg_template (status);

View File

@@ -59,7 +59,7 @@ public class AuthorizingRealm extends com.jeesite.common.shiro.realm.BaseAuthori
} }
@Override @Override
public void onSingleSignOut(User logoutUser) { public void onLogoutSuccess(User logoutUser) {
// 记录用户退出日志 // 记录用户退出日志
LogUtils.saveLog(logoutUser, null, null, null, "系统退出"); LogUtils.saveLog(logoutUser, null, null, null, "系统退出");
} }

View File

@@ -48,12 +48,12 @@ public class LoginController extends BaseController{
*/ */
@RequestMapping(value = "login", method = RequestMethod.GET) @RequestMapping(value = "login", method = RequestMethod.GET)
public String login(HttpServletRequest request, HttpServletResponse response, Model model) { public String login(HttpServletRequest request, HttpServletResponse response, Model model) {
// 地址中如果包含JSESSIONID则跳转一次去掉JSESSIONID信息。 // // 地址中如果包含JSESSIONID则跳转一次去掉JSESSIONID信息。
if (StringUtils.containsIgnoreCase(request.getRequestURI(), ";JSESSIONID=")){ // if (StringUtils.containsIgnoreCase(request.getRequestURI(), ";JSESSIONID=")){
String queryString = request.getQueryString(); // String queryString = request.getQueryString();
queryString = queryString == null ? "" : "?" + queryString; // queryString = queryString == null ? "" : "?" + queryString;
return REDIRECT + adminPath + "/login" + queryString; // return REDIRECT + adminPath + "/login" + queryString;
} // }
LoginInfo loginInfo = UserUtils.getLoginInfo(); LoginInfo loginInfo = UserUtils.getLoginInfo();
@@ -196,12 +196,12 @@ public class LoginController extends BaseController{
*/ */
@RequestMapping(value = "index") @RequestMapping(value = "index")
public String index(HttpServletRequest request, HttpServletResponse response, Model model) { public String index(HttpServletRequest request, HttpServletResponse response, Model model) {
// 地址中如果包含JSESSIONID则跳转一次去掉JSESSIONID信息。 // // 地址中如果包含JSESSIONID则跳转一次去掉JSESSIONID信息。
if (StringUtils.containsIgnoreCase(request.getRequestURI(), ";JSESSIONID=")){ // if (StringUtils.containsIgnoreCase(request.getRequestURI(), ";JSESSIONID=")){
String queryString = request.getQueryString(); // String queryString = request.getQueryString();
queryString = queryString == null ? "" : "?" + queryString; // queryString = queryString == null ? "" : "?" + queryString;
return REDIRECT + adminPath + "/index" + queryString; // return REDIRECT + adminPath + "/index" + queryString;
} // }
// 验证下用户权限以便调用doGetAuthorizationInfo方法保存单点登录登出句柄 // 验证下用户权限以便调用doGetAuthorizationInfo方法保存单点登录登出句柄
if (!SecurityUtils.getSubject().isPermitted("user")){ if (!SecurityUtils.getSubject().isPermitted("user")){

View File

@@ -5,6 +5,7 @@
<!-- <logger name="org.springframework.jdbc" level="DEBUG" /> --> <!-- <logger name="org.springframework.jdbc" level="DEBUG" /> -->
<logger name="org.mybatis.spring.transaction" level="DEBUG" /> <logger name="org.mybatis.spring.transaction" level="DEBUG" />
<logger name="org.apache.catalina.webresources.Cache" level="ERROR" /> <logger name="org.apache.catalina.webresources.Cache" level="ERROR" />
<logger name="org.springframework.boot.context.embedded" level="INFO" />
<logger name="com.jeesite" level="DEBUG" /> <logger name="com.jeesite" level="DEBUG" />
<logger name="com.jeesite.common.i18n" level="INFO" /> <logger name="com.jeesite.common.i18n" level="INFO" />

View File

@@ -19,7 +19,7 @@
</bean> </bean>
<!-- Shiro安全认证过滤器 --> <!-- Shiro安全认证过滤器 -->
<bean id="shiroFilter" class="com.jeesite.common.shiro.sso.ShiroFilterFactoryBean"> <bean id="shiroFilter" class="com.jeesite.common.shiro.web.ShiroFilterFactoryBean">
<property name="securityManager" ref="securityManager" /> <property name="securityManager" ref="securityManager" />
<property name="loginUrl" value="${shiro.loginUrl}" /> <property name="loginUrl" value="${shiro.loginUrl}" />
<property name="successUrl" value="${shiro.successUrl}" /> <property name="successUrl" value="${shiro.successUrl}" />
@@ -59,7 +59,7 @@
<bean id="shiroUserFilter" class="com.jeesite.common.shiro.filter.UserFilter"/> <bean id="shiroUserFilter" class="com.jeesite.common.shiro.filter.UserFilter"/>
<!-- 单点登录信息句柄,单点退出用 --> <!-- 单点登录信息句柄,单点退出用 -->
<bean id="singleSignOutHandler" class="com.jeesite.common.shiro.sso.SingleSignOutHandler"/> <bean id="casOutHandler" class="com.jeesite.common.shiro.cas.CasOutHandler"/>
<!-- 系统安全认证实现类 --> <!-- 系统安全认证实现类 -->
<bean id="authorizingRealm" class="com.jeesite.common.shiro.realm.AuthorizingRealm"> <bean id="authorizingRealm" class="com.jeesite.common.shiro.realm.AuthorizingRealm">
@@ -67,13 +67,13 @@
<property name="sessionDAO" ref="sessionDAO"/> <property name="sessionDAO" ref="sessionDAO"/>
<property name="userService" ref="userService"/> <property name="userService" ref="userService"/>
<property name="empUserService" ref="empUserService"/> <property name="empUserService" ref="empUserService"/>
<property name="singleSignOutHandler" ref="singleSignOutHandler"/> <property name="casOutHandler" ref="casOutHandler"/>
<property name="casServerUrl" value="${shiro.casServerUrl}"/> <property name="casServerUrl" value="${shiro.casServerUrl}"/>
<property name="casServerCallbackUrl" value="${shiro.casClientUrl}${adminPath}/login-cas"/> <property name="casServerCallbackUrl" value="${shiro.casClientUrl}${adminPath}/login-cas"/>
</bean> </bean>
<!-- 定义Shiro安全管理配置 --> <!-- 定义Shiro安全管理配置 -->
<bean id="securityManager" class="com.jeesite.common.shiro.mgt.WebSecurityManager"> <bean id="securityManager" class="com.jeesite.common.shiro.web.WebSecurityManager">
<property name="realm" ref="authorizingRealm" /> <property name="realm" ref="authorizingRealm" />
<property name="sessionManager" ref="sessionManager" /> <property name="sessionManager" ref="sessionManager" />
<!-- shiroCacheManager 在spring-context.xml中定义 --> <!-- shiroCacheManager 在spring-context.xml中定义 -->
@@ -89,6 +89,9 @@
<!-- sessionDAO 在spring-context.xml中定义 --> <!-- sessionDAO 在spring-context.xml中定义 -->
<property name="sessionDAO" ref="sessionDAO"/> <property name="sessionDAO" ref="sessionDAO"/>
<!-- 从URL中去掉JSESSIONID串 -->
<property name="sessionIdUrlRewritingEnabled" value="false" />
<!-- 会话超时时间,单位:毫秒 --> <!-- 会话超时时间,单位:毫秒 -->
<property name="globalSessionTimeout" value="${session.sessionTimeout}"/> <property name="globalSessionTimeout" value="${session.sessionTimeout}"/>

View File

@@ -34,7 +34,7 @@
</mvc:message-converters> </mvc:message-converters>
</mvc:annotation-driven> </mvc:annotation-driven>
<!-- REST中根据URL后缀自动判定Content-Type及相应的View --> <!-- REST中根据MediaType自动判定Content-Type及相应的View -->
<bean id="contentNegotiationManager" class="org.springframework.web.accept.ContentNegotiationManagerFactoryBean"> <bean id="contentNegotiationManager" class="org.springframework.web.accept.ContentNegotiationManagerFactoryBean">
<property name="mediaTypes" > <property name="mediaTypes" >
<value> <value>
@@ -88,9 +88,6 @@
</mvc:content-negotiation> </mvc:content-negotiation>
</mvc:view-resolvers> </mvc:view-resolvers>
<!-- 直接访问项目名称跳转到默认地址 -->
<mvc:view-controller path="/" view-name="redirect:${defaultPath}"/>
<!-- 静态资源映射可读取classes下、jar包里的静态文件 --> <!-- 静态资源映射可读取classes下、jar包里的静态文件 -->
<mvc:resources mapping="/static/**" location="/static/,classpath:/static/" cache-period="31536000"/> <mvc:resources mapping="/static/**" location="/static/,classpath:/static/" cache-period="31536000"/>

View File

@@ -9,6 +9,9 @@
<dependent-module archiveName="jeesite-common-4.0-SNAPSHOT.jar" deploy-path="/WEB-INF/lib" handle="module:/resource/jeesite-common/jeesite-common"> <dependent-module archiveName="jeesite-common-4.0-SNAPSHOT.jar" deploy-path="/WEB-INF/lib" handle="module:/resource/jeesite-common/jeesite-common">
<dependency-type>uses</dependency-type> <dependency-type>uses</dependency-type>
</dependent-module> </dependent-module>
<dependent-module archiveName="jeesite-module-devtools-4.0-SNAPSHOT.jar" deploy-path="/WEB-INF/lib" handle="module:/resource/jeesite-module-devtools/jeesite-module-devtools">
<dependency-type>uses</dependency-type>
</dependent-module>
<property name="context-root" value="jeesite-web"/> <property name="context-root" value="jeesite-web"/>
<wb-resource deploy-path="/" source-path="src/main/webapp"/> <wb-resource deploy-path="/" source-path="src/main/webapp"/>
<property name="java-output-path" value="/src/main/webapp/WEB-INF/classes"/> <property name="java-output-path" value="/src/main/webapp/WEB-INF/classes"/>

View File

@@ -19,7 +19,7 @@
<!-- CAS Session Listener --> <!-- CAS Session Listener -->
<listener> <listener>
<listener-class>com.jeesite.common.shiro.sso.SingleSignOutSessionListener</listener-class> <listener-class>com.jeesite.common.shiro.cas.CasOutSessionListener</listener-class>
</listener> </listener>
<!-- Request Context Listener --> <!-- Request Context Listener -->