资源简介
该校园身份管理系统包括3个子系统:
(1)身份管理子系统:实现身份认证功能。
(2)校园投票子系统:配合实现单点登录的子系统。系统管理员,负责对投票项目增、删、查、改等维护工作;普通用户可以匿名投票,无需登录认证。
(3)校园学生信息管理系统:配合实现单点登录的子系统。系统管理员负责对学生信息增、删、查、改等维护工作。
(1)实现网络的身份管理,为网络用户提供唯一的账号;
(2)统一的登录门户,不同的用户界面,不同的应用服务;
(3)实现一次登录,访问不同的应用服务;
(4)利用统一的平台和接口规范,将各种信息资源与相关系统集成起来。
代码片段和文件信息
package auth;
import java.io.*;
import java.util.*;
import java.util.concurrent.*;
import javax.servlet.*;
import javax.servlet.http.*;
import ldap.LdapBean;
/**
*
* @author Guo ShuYang
* @version
*/
//类SSOAuth用来验证Web应用派发过来的用户的信息的合法性,是单点登录系统的核心类
public class SSOAuth extends HttpServlet {
static private ConcurrentMap accounts; //用来存储从ldap目录中读取的用户信息
static private ConcurrentMap SSOIDs; //用来存储临时生成的用户身份标识
String cookiename = “ “; // 本应用中使用的cookie的名字
String domainname = “ “; // 本应用部署的服务器的域名
private String gotoURL = “ “; // 身份验证成功派发到的目标地址
LdapBean ldap = new LdapBean(); // 从ldap目录中读取用户信息的Bean类
// 初始化系统的一些参数
public void init(ServletConfig config) throws ServletException {
super.init(config);
domainname= config.getInitParameter(“domainname“);
cookiename = config.getInitParameter(“cookiename“);
SSOIDs = new ConcurrentHashMap();
accounts=new ConcurrentHashMap();
accounts=ldap.getAccountsInfo();
}
// 处理来自Web应用派发过来的请求
protected void processRequest(HttpServletRequest request HttpServletResponse response)
throws ServletException IOException {
PrintWriter out = response.getWriter();
String action = request.getParameter(“action“); //查新请求的动作类型
gotoURL = request.getParameter(“goto“);
String result=“failed“;
if (action==null) { //第一次登录系统,派发到登录页面
handlerFromLogin(requestresponse);
}
else if (action.equals(“authcookie“)){ //验证cookie有效性
String myCookie = request.getParameter(“cookiename“);
if (myCookie != null) result = authCookie(myCookie);
out.print(result);
out.close();
}
else if (action.equals(“authuser“)) { //验证用户信息有效性
result=authNameAndPasswd(requestresponse);
out.print(result);
out.close();
}
else if (action.equals(“logout“)) { //处理注销服务
String myCookie = request.getParameter(“cookiename“);
logout(myCookie);
out.close();
}
}
// 静态函数,验证cookie的有效性
static public String authCookie(String value){
String result = (String) SSOIDs.get(value);
if (result == null) {
result = “failed“;
System.out.println(“Authentication failed!“);
} else {
System.out.println(“Authentication success!“);
}
return result;
}
// 静态函数,验证用户名的有效性
static public String authUserAndPass(String username String password){
String pass = (String)accounts.get(username);
if ((pass==null)||(!pass.equals(password)))
return “failed“;
String newID = createUID();
SSOIDs.put(newID username);
return username;
}
//验证用户的密码有效性
protected String authNa
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 229 2008-10-31 19:48 基于LDAP的单点登录方案的设计与实现\init.ldif
文件 2451 2008-10-31 19:48 基于LDAP的单点登录方案的设计与实现\slapd.conf
文件 554 2008-10-31 19:48 基于LDAP的单点登录方案的设计与实现\SSOAuth\.classpath
文件 294 2008-10-31 19:48 基于LDAP的单点登录方案的设计与实现\SSOAuth\.myme
文件 1225 2008-10-31 19:48 基于LDAP的单点登录方案的设计与实现\SSOAuth\.project
文件 6269 2008-10-31 19:48 基于LDAP的单点登录方案的设计与实现\SSOAuth\src\auth\SSOAuth.java
文件 5558 2008-10-31 19:48 基于LDAP的单点登录方案的设计与实现\SSOAuth\src\ldap\LdapBean.java
文件 622 2008-10-31 19:48 基于LDAP的单点登录方案的设计与实现\SSOAuth\WebRoot\failed.html
文件 3738 2008-10-31 19:48 基于LDAP的单点登录方案的设计与实现\SSOAuth\WebRoot\images\background2.gif
文件 230 2008-10-31 19:48 基于LDAP的单点登录方案的设计与实现\SSOAuth\WebRoot\images\bottomback.png
文件 236 2008-10-31 19:48 基于LDAP的单点登录方案的设计与实现\SSOAuth\WebRoot\images\topback.png
文件 2436 2008-10-31 19:48 基于LDAP的单点登录方案的设计与实现\SSOAuth\WebRoot\login.jsp
文件 39 2008-10-31 19:48 基于LDAP的单点登录方案的设计与实现\SSOAuth\WebRoot\me
文件 2650 2008-10-31 19:48 基于LDAP的单点登录方案的设计与实现\SSOAuth\WebRoot\pattern.css
文件 5332 2008-10-31 19:48 基于LDAP的单点登录方案的设计与实现\SSOAuth\WebRoot\WEB-INF\classes\auth\SSOAuth.class
文件 5591 2008-10-31 19:48 基于LDAP的单点登录方案的设计与实现\SSOAuth\WebRoot\WEB-INF\classes\ldap\LdapBean.class
文件 22769 2008-10-31 19:48 基于LDAP的单点登录方案的设计与实现\SSOAuth\WebRoot\WEB-INF\lib\fscontext.jar
文件 125243 2008-10-31 19:48 基于LDAP的单点登录方案的设计与实现\SSOAuth\WebRoot\WEB-INF\lib\ldap.jar
文件 77116 2008-10-31 19:48 基于LDAP的单点登录方案的设计与实现\SSOAuth\WebRoot\WEB-INF\lib\providerutil.jar
文件 1066 2008-10-31 19:48 基于LDAP的单点登录方案的设计与实现\SSOAuth\WebRoot\WEB-INF\web.xm
文件 825 2008-10-31 19:48 基于LDAP的单点登录方案的设计与实现\StudentManager\.classpath
文件 315 2008-10-31 19:48 基于LDAP的单点登录方案的设计与实现\StudentManager\.myme
文件 1232 2008-10-31 19:48 基于LDAP的单点登录方案的设计与实现\StudentManager\.project
文件 1960 2008-10-31 19:48 基于LDAP的单点登录方案的设计与实现\StudentManager\src\bean\DBConnBean.java
文件 3391 2008-10-31 19:48 基于LDAP的单点登录方案的设计与实现\StudentManager\src\bean\LdapBean.java
文件 3494 2008-10-31 19:48 基于LDAP的单点登录方案的设计与实现\StudentManager\src\bean\PageBean.java
文件 1487 2008-10-31 19:48 基于LDAP的单点登录方案的设计与实现\StudentManager\src\bean\StudentBean.java
文件 2323 2008-10-31 19:48 基于LDAP的单点登录方案的设计与实现\StudentManager\src\servlet\AddServlet.java
文件 1912 2008-10-31 19:48 基于LDAP的单点登录方案的设计与实现\StudentManager\src\servlet\DeleteServlet.java
文件 2105 2008-10-31 19:48 基于LDAP的单点登录方案的设计与实现\StudentManager\src\servlet\SearchServlet.java
............此处省略93个文件信息
- 上一篇:TENSORRT 轻松部署高性能DNN推理
- 下一篇:教学资源管理系统与师生交互平台
评论
共有 条评论