|
版本: |
|
小版本号: |
|
|
|
数据库: |
|
服务器操作系统: |
|
应用服务器: |
|
客户端操作系统: |
|
浏览器: |
|
|
|
管理员您好,我这边需要实现单点登录,不采用过滤器的方法(因为过滤器的方式管理员和其它非授权账号无法进去),所以需要采用重写dologin的方法
请问一下改写思路是怎么样?直接把系统的login方法进行修改过吗?
以下是厂家提供的代码。
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ include file="supwisdom/CASUtils.jsp"%>
<%!public boolean doLogin(LoginUser loginUser, HttpServletRequest request) {
HttpSession session = request.getSession();
ServletContext application = session.getServletContext();
// 如果使用了Spring可以用下面的方法获取spring的context对象
// WebApplicationContext appContext = WebApplicationContextUtils.getWebApplicationContext(application);
// 如果需要使用SpringMVC上下文、可以用下面的方法获取springMVC的context对象
// WebApplicationContext mvcContext = RequestContextUtils.getWebApplicationContext(request);
return true;
}%>
<%
String targetUrl = CasUtils.getTargetUrl(request);
if (CasUtils.isLogin(session)) {
response.sendRedirect(targetUrl);
} else {
if (CasUtils.hasTicket(request)) {
LoginUser loginUser = CasUtils.getLoginUser(request);
if (loginUser.isLogin() && doLogin(loginUser, request)) {
CasUtils.login(loginUser, session);
response.sendRedirect(targetUrl);
} else {
response.sendRedirect(CasUtils.getLogoutUrl(request));
}
} else {
String loginUrl = CasUtils.getLoginUrl(request);
response.sendRedirect(loginUrl);
}
}
%>
|
|