資源簡介
該校園身份管理系統包括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推理
- 下一篇:教學資源管理系統與師生交互平臺
評論
共有 條評論