AspxGridView整理文档

AspxGridView整理文档
AspxGridView整理文档

ASPxGridView属性:概述设置(Settings)

GridLines="Vertical" : 网格样式 Vertical, Both, None

ShowGroupPanel="True" : 分组面板

ShowFooter="True" : 脚注面板

ShowFilterRow="True" : 过滤器行

ShowHeaderFilterButton="true" : 表头过滤按钮

ShowFilterBar :允许显示过滤工具条

ShowGroupFooter="VisibleAlways" : 分组脚注面板 Hidden | VisibleIfExpand | VisibleAlw ays

ShowPreview="true" : 预览面板

ShowVerticalScrollBar="True" : 垂直滚动条

VerticalScrollableHeight="250" : 垂直滚动条

/>

行为设置(SettingsBehavior)

AllowDragDrop="False" : 允许托拽

ColumnResizeMode="Control" : 列宽度调整模式

AllowFocusedRow="True" : 鼠标点击选择行

AllowSort :允许排序

AllowGroup :允许分组

autoExpandAllGroups :自动展开所有组

ConfirmDelete :允许提交删除

AllowMultiSelection :允许选择多行

/>

分页(SettingsPager)

PageSize="30" : 分页大小

Mode="ShowAllRecords" : 展示模式

SEOFriendly="Enabled" : Search engine friendly

Position="TopAndBottom" : 分页控件位置

>

文本设置(SettingsText)

Title="标题"

EmptyDataRow="无数据"

PopupEditFormCaption="编辑"

ConfirmDelete="确定删除?"

/>

Loading 面板设置(SettingsLoadingPanel)

编辑视图设置(SettingsEditing)

PopupEditFormWidth = "600px"

NewItemRowPosition = "Bottom"

Mode = "PopupEditForm"

/>

编辑模式 SettingsEditing.Mode

EditForm : 当前行转化为表单,嵌入在行中

EditFormAndDisplayRow : 同EditForm,但保留当前行

Inline : 在当前行现场编辑

PopupEditForm : 弹出窗口编辑

行详细设置(SettingDetail)

AllowOnlyOneMasterRowExpanded :允许只展开一列详细信息

ShowDetailRow :允许显示详细列表

IsDetailGrid :允许显示分组>

动态选中某一行:

AspxgridView1.Selection.SetSelection(i.true)

遍历所有行:

声明变量:DataRowView dv

For(int i=0;i< AspxgridView1.VisbleRowCount;i++)

{

选中行提取数据:if(AspxgridView1.Selection.IsRowSelected(i))

{

行数据集 dv=(DataRowView)AspxgridView1.GetRow(i);

}

}

ASPxGridView样式& 格式

---------------------------------------------------------

集中式样式

: 标题居中对齐

: 交错行效果

:

列样式

数字日期格式

金额

时间

图像

ASPxGridView分组& 汇总& 排序

---------------------------------------------------------

间隔分组:将时间日期字段按个性分组,如年、月、日、周、季度、上周、下周.....

汇总

at="c"/>

分组汇总

ASPxGridView 列:

---------------------------------------------------------

基本列(GridViewDataColumn)

其他列

: 文本列

: 长文本列

: 图像列

: 二进制图像列

: 日期列

: 时间列

: 组合框列

: 下拉框编辑列?

: 命令按钮列

: 编辑按钮列?

: 复选框列

: 色彩列

: 超链接列

: 进度条列

: SpinEdit列

长文本列(GridViewDataMemoColumn)

编辑时展现为多行文本框

EditCellStyle-BackColor="Yellow" // 行的背景颜色

PropertiesMemoEdit-Rows="4" // 添加或是修改时跨行

EditFormSettings-ColumnSpan="2" //添加或是修改时跨列

/>

超链接列(GridViewDataHyperLinkColumn)

组合框列(GridViewDataComboBoxColumn)

protected void grid_CellEditorInitialize(object sender, ASPxGridViewEditorEventArgs e)

{

// 用下拉框展示国家下的所有城市绑定数据源

if(grid.IsEditing && e.Column.FieldName != "City" && !grid.IsNewRowEditing)

{

ASPxComboBox combo = e.Editor as ASPxComboBox;

string country = (string)grid.GetRowValuesByKeyValue(e.KeyValue, "Country");

FillCityCombo(combo, country);

}

}

命令按钮列(GridViewCommandColumn)

OnRowDeleting="gv_RowDeleting" OnRowUpdating="gv_RowUpdating" OnRowIn serting="gv_RowInserting"

一种是添加图片的

一种就只这种标准的:

代码详见《ASPxGridView.DataBind》

复选框列

自定义按钮

“删除”按钮

protected void gv_CustomButtonCallback(object sender, ASPxGridViewCustomBu ttonCallbackEventArgs e)

{

if (e.ButtonID == "DeleteFile")

{

long fileId = Convert.ToInt64(gv.GetRowValues(e.VisibleIndex, "FileId"));

string fileName = gv.GetRowValues(e.VisibleIndex, "FileName").ToString();

string filePath = Common.Config.Path.PhysicalUploadFolder + gv.GetRowV alues(e.VisibleIndex, "FilePath").ToString();

System.IO.File.Delete(filePath);

using (DbFile db = new DbFile())

db.DelFile(fileId);

ShowData(this.FileBatchId);

}

}

“复制行”按钮

Hashtable copiedValues;

protected void grid_CustomButtonCallback(object sender, ASPxGridViewCustomB uttonCallbackEventArgs e)

{

if(e.ButtonID == "Copy")

{

copiedValues = new Hashtable();

foreach(string fieldName in copiedFields)

copiedValues[fieldName] = grid.GetRowValues(e.VisibleIndex, fieldNam e);

grid.AddNewRow();

}

}

protected void grid_InitNewRow(object sender, DevExpress.Web.Data.ASPxDataI nitNewRowEventArgs e)

{

if(copiedValues != null)

foreach(string fieldName in copiedFields)

e.NewValues[fieldName] = copiedValues[fieldName];

}

非绑定列(GridViewDataTextColumn)

protected void grid_CustomUnboundColumnData(object sender, DevExpress.Web.ASP xGridView.ASPxGridViewColumnDataEventArgs e)

{

// Total = UnitPrice * Quantity

if(e.Column.FieldName == "Total")

{

decimal price = (decimal)e.GetListSourceFieldValue("UnitPrice");

int quantity = Convert.ToInt32(e.GetListSourceFieldValue("Quantity"));

e.Value = price * quantity;

}

}

模板列(GridViewDataTextColumn)

onhtmlrowcreated="grid_HtmlRowCreated"

更多...

&na me=<%#Eval("FileName") %> " >下载

protected void grid_HtmlRowCreated(object sender, ASPxGridViewTableRowEventArgs e)

{

if (!grid.IsEditing && e.RowType == DevExpress.Web.ASPxGridView.GridViewRowT ype.Data)

{

// 操作Label 控件

Label label = grid.FindRowCellTemplateControl(e.VisibleIndex, null, "changePerc ent") as Label;

decimal change = (decimal)grid.GetRowValues(e.VisibleIndex, "Change");

label.Text = string.Format("{0:p}", change);

// 操作Image 控件

System.Web.UI.WebControls.Image img = (System.Web.UI.WebControls.Image) grid.FindRowCellTemplateControl(e.VisibleIndex, null, "changeImage");

img.Visible = false;

if(change != 0)

{

img.Visible = true;

img.ImageUrl = change < 0 ? "~/Images/arRed.gif" : "~/Images/arGreen.gif ";

label.ForeColor = change < 0 ? Color.Red : Color.Green;

}

}

}

注:模板列中的事件如何写?手工写事件,如btn.OnClick += ...;

注:视图模板请参考文档《ASPxGridView.Templates》

ASPxGridView 事件

RowCreated(创建行数据时触发,类似GridView 的DataItemCreate 事件)protected void grid_HtmlRowCreated(object sender, DevExpress.Web.ASPxGridView.A SPxGridViewTableRowEventArgs e)

{

if(e.RowType != DevExpress.Web.ASPxGridView.GridViewRowType.Data) return;

// 设置模板列lable控件值

Label label = grid.FindRowCellTemplateControl(e.VisibleIndex, null, "changePercent ") as Label;

decimal change = (decimal)grid.GetRowValues(e.VisibleIndex, "Change");

label.Text = string.Format("{0:p}", change);

// 设置模板列image控件的图像

System.Web.UI.WebControls.Image img = (System.Web.UI.WebControls.Image)gri d.FindRowCellTemplateControl(e.VisibleIndex, null, "changeImage");

img.Visible = false;

if(change != 0) {

img.Visible = true;

img.ImageUrl = change < 0 ? "~/Images/arRed.gif" : "~/Images/arGreen.gif";

label.ForeColor = change < 0 ? Color.Red : Color.Green;

}

}

HtmlRowPrepared(行准备?可在此设置行的展示效果,如背景)

protected void grid_HtmlRowPrepared(object sender, ASPxGridViewTableRowEventArg s e)

{

bool hasError = e.GetValue("FirstName").ToString().Length <= 1;

hasError = hasError || e.GetValue("LastName").ToString().Length <= 1;

hasError = hasError || !e.GetValue("Email").ToString().Contains("@");

hasError = hasError || (int)e.GetValue("Age") < 18;

DateTime arrival = (DateTime)e.GetValue("ArrivalDate");

hasError = hasError || DateTime.Today.Year != arrival.Year || DateTime.Today.Mo nth != arrival.Month;

if(hasError) {

e.Row.ForeColor = System.Drawing.Color.Red;

}

}

UnboundColumnData (非绑定列数据填充)

protected void grid_CustomUnboundColumnData(object sender, DevExpress.Web.ASP xGridView.ASPxGridViewColumnDataEventArgs e)

{

if(e.Column.FieldName == "Total")

{

decimal price = (decimal)e.GetListSourceFieldValue("UnitPrice");

int quantity = Convert.ToInt32(e.GetListSourceFieldValue("Quantity"));

e.Value = price * quantity;

}

}

CustomColumnDisplayText(定制列文本展示)

protected void grid_CustomColumnDisplayText(object sender, DevExpress.Web.ASPx GridView.ASPxGridViewColumnDisplayTextEventArgs e)

{

if(object.Equals(e.Column, grid.Columns["Size"]))

e.DisplayText = GetSizeDisplayText(e.Value);

}

SummaryDisplayText(合计行文本展示)

protected void grid_SummaryDisplayText(object sender, DevExpress.Web.ASPxGridVi ew.ASPxGridViewSummaryDisplayTextEventArgs e) {

if(e.Item.FieldName == "Size") {

e.Text = GetSizeDisplayText(e.Value);

}

}

HeaderFilterFillItems(自定义过滤器处理逻辑)

protected void grid_HeaderFilterFillItems(object sender, ASPxGridViewHeaderFilterEve ntArgs e)

{

if(object.Equals(e.Column, grid.Columns["Total"])) {

PrepareTotalFilterItems(e);

return;

}

if(object.Equals(e.Column, grid.Columns["Quantity"])) {

PrepareQuantityFilterItems(e);

return;

}

}

---------------------------------------------------------

回调处理

---------------------------------------------------------

CustomCallback(Ajax 回调处理)

protected void grid_CustomCallback(object sender, ASPxGridViewCustomCallbackEven tArgs e)

{

int layoutIndex = -1;

if(int.TryParse(e.Parameters, out layoutIndex))

ApplyLayout(layoutIndex); // 更换布局

}

CustomButtonCallback(定制按钮的ajax回调处理)

protected void grid_CustomButtonCallback(object sender, ASPxGridViewCustomButton CallbackEventArgs e)

{

if(e.ButtonID != "Copy") return;

copiedValues = new Hashtable();

foreach(string fieldName in copiedFields)

copiedValues[fieldName] = grid.GetRowValues(e.VisibleIndex, fieldName);

grid.AddNewRow();

}

---------------------------------------------------------

编辑视图

---------------------------------------------------------

InitNewRow(新建行的数据初始化处理)

protected void grid_InitNewRow(object sender, DevExpress.Web.Data.ASPxDataInitNe wRowEventArgs e)

{

if(copiedValues == null) return;

foreach(string fieldName in copiedFields) {

e.NewValues[fieldName] = copiedValues[fieldName];

}

}

CellEditorInitialize(编辑器初始化)

protected void grid_CellEditorInitialize(object sender, ASPxGridViewEditorEventArgs e)

{

if(grid.IsEditing && !grid.IsNewRowEditing && e.Column.FieldName == "City")

{

string country = (string)grid.GetRowValuesByKeyValue(e.KeyValue, "Country");

ASPxComboBox combo = e.Editor as ASPxComboBox;

FillCityCombo(combo, country);

combo.Callback += new CallbackEventHandlerBase(cmbCity_OnCallback);

}

}

StartRowEditing(开始编辑)

protected void grid_StartRowEditing(object sender, DevExpress.Web.Data.ASPxStartR

owEditingEventArgs e)

{

if(!grid.IsNewRowEditing) {

grid.DoRowValidation();

}

}

RowValidating (行数据验证)

protected void grid_RowValidating(object sender, DevExpress.Web.Data.ASPxDataVali dationEventArgs e)

{

foreach(GridViewColumn column in grid.Columns) {

GridViewDataColumn dataColumn = column as GridViewDataColumn;

if(dataColumn == null) continue;

if(e.NewValues[dataColumn.FieldName] == null) {

e.Errors[dataColumn] = "Value can't be null.";

}

}

if(e.Errors.Count > 0) e.RowError = "Please, fill all fields.";

if(e.NewValues["FirstName"] != null && e.NewValues["FirstName"].ToString().Lengt h < 2) {

AddError(e.Errors, grid.Columns["FirstName"], "First Name must be at least two characters long.");

}

if(e.NewValues["LastName"] != null && e.NewValues["LastName"].ToString().Lengt h < 2) {

AddError(e.Errors, grid.Columns["LastName"], "Last Name must be at least two characters long.");

}

if(e.NewValues["Email"] != null && !e.NewValues["Email"].ToString().Contains("@")) {

AddError(e.Errors, grid.Columns["Email"], "Invalid e-mail.");

}

int age = 0;

int.TryParse(e.NewValues["Age"] == null ? string.Empty : e.NewValues["Age"].ToS tring(), out age);

if(age < 18) {

AddError(e.Errors, grid.Columns["Age"], "Age must be greater than or equal 1 8.");

}

DateTime arrival = DateTime.MinValue;

DateTime.TryParse(e.NewValues["ArrivalDate"] == null ? string.Empty : e.NewValu es["ArrivalDate"].ToString(), out arrival);

if(DateTime.Today.Year != arrival.Year || DateTime.Today.Month != arrival.Month) {

AddError(e.Errors, grid.Columns["ArrivalDate"], "Arrival date is required and mu st belong to the current month.");

}

if(string.IsNullOrEmpty(e.RowError) && e.Errors.Count > 0) e.RowError = "Please, correct all errors.";

if (e.NewValues["Name"] == null)

{

e.RowError = "功能名称不能为空,请填写功能名称";

return;

}

if (e.NewValues["Remarks"] == null)

{

e.RowError = "功能备注不能为空,请填写功能备注";

return;

}

}

行修改事件 RowUpdating

protected void gvFunction_RowUpdating(object sender,

DevExpress.Web.Data.ASPxDataUpdatingEventArgs e)

{

https://www.360docs.net/doc/a14928641.html, = e.NewValues[0].ToString();// 组名称

functionModel.Remarks = e.NewValues[1].ToString(); // 组备注

functionModel.FunctionId = e.Keys[0].ToString();// ID

rmodel = client.FunctionEdit(functionModel);// 返回类型表

gvFunction.CancelEdit();//结束编辑状态

e.Cancel = true;

FunctionDataBind();//更新数据

}

行添加事件RowInserting

protected void gvFunction_RowInserting(object sender,

DevExpress.Web.Data.ASPxDataInsertingEventArgs e)

{

https://www.360docs.net/doc/a14928641.html, = e.NewValues[0].ToString();// 组名称

functionModel.Remarks = e.NewValues[1].ToString(); // 组备注

rmodel = client.FunctionSubmit(functionModel);// 返回类型表

gvFunction.CancelEdit();//结束编辑状态

e.Cancel = true;

FunctionDataBind();//更新数据

}

行删除事件RowDeleting

protected void gvFunction_RowDeleting(object sender,

DevExpress.Web.Data.ASPxDataDeletingEventArgs e)

{

functionModel.FunctionId = e.Keys[0].ToString();// ID

client.FunctionInfoDelete(functionModel);

gvFunction.CancelEdit();//结束编辑状态

e.Cancel = true;

FunctionDataBind();//更新数据

}

初始化回调事件 Callback

protected void callbackPanel_Callback(object sender,

DevExpress.Web.ASPxClasses.CallbackEventArgsBase e)

{

strGroupID = e.Parameter.ToString();

DataBindInfo();// 初始化页面信息

SelectUser();// 查找组里面的所有用户

DataCheck();

}

获取行展开改变事件DetailRowExpandedChanged

protected void gvGroup_DetailRowExpandedChanged(object sender, ASPxGridViewDetailRowEventArgs e)

{

SYSolution_WebUI.ServiceReference.GroupInfo groupInfoModel =

(SYSolution_WebUI.ServiceReference.GroupInfo)((ASPxGridView)sender).GetRow(e.VisibleIndex);/ / 获取选中行实体

ASPxGridView gv =

(ASPxGridView)gvGroup.FindDetailRowTemplateControl(e.VisibleIndex, "gvGroupName"); // 获取模板内aspxgridView ID名称

SYSolution_WebUI.ServiceReference.GroupInfo[] model =

client.GroupSelUserList("GroupId='" + groupInfoModel.GroupId + "'");// 通过组ID值获取实体对象 if (model[0].UserInfoList != null && gv != null)// 当用用户列表值与子aspxgridView 不为空

{

gv.DataSource = model[0].UserInfoList; // 子aspxgridView绑定数据源

gv.DataBind();

}

if (model[0].UserInfoList[0].Name == "") // 如果子aspxgridView中的用户列表为空时不显示不展开

{

gvGroup.SettingsDetail.AllowOnlyOneMasterRowExpanded = false;

}

}

排序事件中重新绑定数据 BeforeColumnSortingGrouping

protected void gvGroup_BeforeColumnSortingGrouping(object sender, ASPxGridViewBeforeColumnGroupingSortingEventArgs e)

{

gvGroup.DetailRows.CollapseAllRows();// 关闭所有DetailoRow

gvGroup.DetailRows.ExpandRow(3);

}

重绑定数据使用时先选中行,再查看 FocusedRowChanged

Protected void aspxGridView_FocusedRowChanged(object sender,EventArgs e){}

行列绑定数据事件CustomUnboundColumnData

Protected void aspxGridView_CustomUnboundColumnData(object sender,EventArgs e){}

.隐藏编辑列,在DataBound事件中

protected void ASPxGridView1_DataBound(object sender, EventArgs e) {

if(ASPxGridView1.VisibleRowCount>0)

{

//ASPxGridView1.Columns[命令列索引]

(ASPxGridView1.Columns[4] as GridViewCommandColumn).NewButton.Visible = false;

}

}

统一认证与单点登录系统-产品需求规格说明书

统一认证与单点登录系统产品需求规格说明书 北京邮电大学

版本历史

目录 0文档介绍 (5) 0.1 文档目的 (5) 0.2 文档范围 (5) 0.3 读者对象 (5) 0.4 参考文档 (5) 0.5 术语与缩写解释 (5) 1产品介绍 (7) 2产品面向的用户群体 (7) 3产品应当遵循的标准或规范 (7) 4产品范围 (7) 5产品中的角色 (7) 6产品的功能性需求 (8) 6.0 功能性需求分类 (8) 6.0.1产品形态 (8) 6.1 外部系统管理 (9) 6.1.1外部系统注册 (9) 6.1.2外部系统集成配置 (11) 6.2 用户管理 (11) 6.2.1用户管理控制台 (11) 6.2.2用户自助服务 (13) 6.2.3统一用户管理 (13) 6.3 组织结构管理 (14) 6.4 权限管理 (15) 6.4.1统一角色管理 (18) 6.5 单点登录 (18) 6.5.1基于Httpheader单点登录 (19) 6.5.2基于表单代填的方式单点登录 (20) 6.5.3基于CAS单点登录 (20) 6.5.4总结 (23) 7产品的非功能性需求 (24) 7.1.1性能需求 (24) 7.1.2接口需求 (24) 8附录B:需求确认 (25)

0文档介绍 0.1文档目的 此文档用于描述统一认证与单点登录系统的产品需求,用于指导设计与开发人员进行系统设计与实现。 0.2文档范围 本文档将对系统的所有功能性需求进行消息的描述,同时约定非功能性以及如何与第三方系统进行交互。 0.3读者对象 本文档主要面向一下读者: 1.系统设计人员 2.系统开发与测试人员 3.系统监管人员 4.产品甲方管理人员 0.4参考文档 《凯文斯信息技术有限公司单点登录及统一用户技术方案V1.0》 0.5术语与缩写解释

单点登录系统(SSO)详细设计说明书

单点登录系统(SSO)详细设计说明书 1、引言 1.1编写目的 为了单点登录系统(SSO系统)的可行性,完整性,并能按照预期的设想实现该系统,特编写需求说明书。 同时,说明书也发挥与策划和设计人员更好地沟通的作用。 1.2背景 a.鉴于集团运营的多个独立网站(称为成员站点),每个网站都具有自己的身份验证机制,这样势必造成:生活中的一位用户,如果要以会员的身份访问网站,需要在每个网站上注册,并且通过身份验证后,才能以会员的身份访问网站;即使用户以同样的用户名与密码在每个网站上注册时,虽然可以在避免用户名与密码的忘记和混淆方面有一定的作用,但是用户在某一段时间访问多个成员站点或在成员站点间跳转时,还是需要用户登录后,才能以会员的身份访问网站。这样不仅给用户带来了不便,而且成员网站为登录付出了性能的代价; b.如果所有的成员网站,能够实现单点登录,不仅在用户体验方面有所提高,而且真正体现了集团多个网站的兄弟性。通过这种有机结合,能更好地体现公司大平台,大渠道的理念。同时,这样做也利于成员网站的相互促进与相互宣传。 正是出于上面的两点,单点登录系统的开发是必须的,是迫在眉睫的。1.3定义 单点登录系统提供所有成员网站的“单一登录”入口。本系统的实质是含有身份验证状态的变量, 在各个成员网站间共用。单点登录系统,包括认证服务器(称Passport服务器),成员网站服务器。 会员:用户通过Passport服务器注册成功后,就具有了会员身份。 单一登录:会员第一次访问某个成员网站时,需要提供用户名与密码,一旦通过Passport服务器的身份验证, 该会员在一定的时间内,访问任何成员网站都不需要再次登录。 Cookie验证票:含有身份验证状态的变量。由Passport服务器生成,票含有用户名,签发日期时间, 过期日期时间和用户其它数据。

项目概要设计说明书

XX公司 概要设计说明书模板(2014年)

目录 第1 章......................... 简介1 1.1 编写目的 (1) 1.2 文档的控制 (1) 1.3 文档的审批 (1) 1.4 项目干系人 (2) 2.1 业务发展方向 (2) 2.2 当前组织结构 (2) 2.3 当前IT 环境 (3) 2.4 标准约定 (3) 第3 章................... 探索方案和方法3 3.1项目定义............... (3) 3.2系统上下文............. (3) 3.3主题模型............... (4) 3.4功能性需求列表......... (5) 第2 章.................. 业务和需要的理解

3.5 非功能性需求列表 ..................... 8 3.6 用例图 (10) 10 4.1 应用架构概况图 ..................... 10 4.2 架构决策 ........................ 11 4.3 架构部件(组件)模型图 .................. 13 4.4 系统运行部署图 ..................... 13 4.5 项目计划 .............. 错误! 4.6 项目的例外责任 ............ 错误! 4.7 项目依赖 .............. 错误! 4.8 风险和规避 .............. 错误! 4.9 问题和假设 .............. 错误! 4.10 假设条件 .............. 错误! 第5章 .................... 16 5.1 服务级别标准 ....................... 16 5.2 服务资源及规范 (16) 主要业务名词和术语定义 .................... 17 参考文献 . (17) 第4章 .................... 项目交付架构 未定义书签。 未定义书签。 未定义书签。 未定义书签。 未定义书签。 未定义书签。 运营支撑标准

单点登录技术文档

单点登录技术文档 张昀* 2006.12 说明:本文档在我们最大努力范围之内确保其正确性、实效性和可观性,但并不代表所有的观点都是正确的,而仅代表个人看法。如发现不当之处,请多指教,谢谢! 另外,本文并不是给初学者看的。虽然我们尽可能把每个概念和操作步骤都说得比较明白,但是如果您对于Linux系统不是很熟的话,很多操作仍然可能存在困难。这种情况下我们建议您直接下载虚拟机安装试用,边实践边学习。 联系邮件:mypersonal1971@https://www.360docs.net/doc/a14928641.html,。 1、单点登录概述 单点登录的英文名称为Single Sign-On,简写为SSO,它是一个用户认证的过程,允许用户一次性进行认证之后,就访问系统中不同的应用;而不需要访问每个应用时,都重新输入密码。IBM对SSO有一个形象的解释“单点登录、全网漫游”。 SSO将一个企业内部所有域中的用户登录和用户帐号管理集中到一起,SSO的好处显而易见: 1. 减少用户在不同系统中登录耗费的时间,减少用户登录出错的可能性 2. 实现安全的同时避免了处理和保存多套系统用户的认证信息 3. 减少了系统管理员增加、删除用户和修改用户权限的时间 4. 增加了安全性:系统管理员有了更好的方法管理用户,包括可以通过直接禁止和删除用户来取消该用户对所有系统资源的访问权限 对于内部有多种应用系统的企业来说,单点登录的效果是十分明显的。很多国际上的企业已经将单点登录作为系统设计的基本功能之一。 1.1单点登录产品 商业SSO软件 ●专门的SSO商业软件 ?主要有:Netgrity的Siteminder,已经被CA收购。Novell 公司的iChain。RSA公 司的ClearTrust等。 ●门户产品供应商自己的SSO产品, ?如:BEA的WLES,IBM 的Tivoli Access Manager,Sun 公司的identity Server, Oracle公司的OID等。

单点登录平台管理软件_系统设计文档

单点登录平台管理软件 设计方案

目录 一、项目概述 (1) 二、项目目标 (1) 三、必要性分析 (1) 四、定义 (2) 五、项目需求 (3) 1.概述 (3) 2.功能需求分析 (4) 2.1.系统实现结构图 (5) 2.2.系统实现层次结构 (5) 2.3.功能需求 (6) 2.4.流程逻辑 (11) 3.数据库设计 (13) 4.服务器与成员接口规 (15)

一、项目概述 单点登录(Single Sign On),简称为SSO,它是一个用户认证的过程,允许用户一次性进行认证之后,就访问系统中不同的应用;而不需要访问每个应用时,都重新输入密码。IBM对SSO有一个形象的解释“单点登录、全网漫游”它是一个用户认证的过程,允许用户一次性进行认证之后,就访问系统中不同的应用;而不需要访问每个应用时,都重新输入密码。IBM对SSO有一个形象的解释“单点登录、全网漫游”。 SSO将一个企业部所有域中的用户登录和用户管理集中到一起,SSO的好处显而易见。 对于部有多种应用系统的企业来说,单点登录的效果是十分明显的。很多国际上的企业已经将单点登录作为系统设计的基本功能之一。 二、项目目标 通过建设与实现SSO,可以达到以下目标: 减少用户在不同系统中登录耗费的时间,减少用户登录出错的可能性。 实现安全的同时避免了处理和保存多套系统用户的认证信息。 减少了系统管理员增加、删除用户和修改用户权限的时间。 增加了安全性:系统管理员有了更好的方法管理用户,包括可以通过直接禁止和删除用户来取消该用户对所有系统资源的访问权限。 三、必要性分析

鉴于单位运营的多个独立(称为成员站点),每个都具有自己的身份验证机制,这样势必造成:生活中的一位用户,如果要以会员的身份访问,需要在每个上注册,并且通过身份验证后,才能以会员的身份访问;即使用户以同样的用户名与密码在每个上注册时,虽然可以在避免用户名与密码的忘记和混淆方面有一定的作用,但是用户在某一段时间访问多个成员站点或在成员站点间跳转时,还是需要用户登录后,才能以会员的身份访问。这样不仅给用户带来了不便,而且成员为登录付出了性能的代价; 如果所有的成员,能够实现单点登录,不仅在用户体验方面有所提高,而且真正体现了平台的一体性。通过这种有机结合,能更好地体现公司大平台,大渠道的理念。同时,这样做也利于成员的相互促进与相互宣传。 正是出于上面的两点,单点登录系统的开发是必须的,是迫在眉睫的。 四、定义 单点登录系统提供所有成员的“单一登录”入口。本系统的实质是含有身份验证状态的变量, 在各个成员间共用。单点登录系统,包括认证服务器(称Passport 服务器),成员服务器。 会员:用户通过Passport服务器注册成功后,就具有了会员身份。 单一登录:会员第一次访问某个成员时,需要提供用户名与密码,一旦通过Passport服务器的身份验证,该会员在一定的时间,访问任

单点登录技术文档

济南时代智囊科技有限公司单点登录技术文档
单点登录技术文档
何伟民* 2010.6
1、 单点登录概述 、
单点登录的英文名称为 Single Sign-On,简写为 SSO,它是一个用户认证的过程,允许 用户一次性进行认证之后,就访问系统中不同的应用;而不需要访问每个应用时,都重新输 入密码。IBM 对 SSO 有一个形象的解释“单点登录、全网漫游” 。 SSO 将一个企业内部所有域中的用户登录和用户帐号管理集中到一起,SSO 的好处显 而易见: 1. 减少用户在不同系统中登录耗费的时间,减少用户登录出错的可能性 2. 实现安全的同时避免了处理和保存多套系统用户的认证信息 3. 减少了系统管理员增加、删除用户和修改用户权限的时间 4. 增加了安全性:系统管理员有了更好的方法管理用户,包括可以通过直接禁止和删除用 户来取消该用户对所有系统资源的访问权限 对于内部有多种应用系统的企业来说, 单点登录的效果是十分明显的。 很多国际上的企 业已经将单点登录作为系统设计的基本功能之一。
1.1 单点登录产品
商业 SSO 软件 专门的 SSO 商业软件 主要有:Netgrity 的 Siteminder,已经被 CA 收购。Novell 公司的 iChain。RSA 公 司的 ClearTrust 等。 门户产品供应商自己的 SSO 产品, 如:BEA 的 WLES,IBM 的 Tivoli Access Manager,Sun 公司的 identity Server, Oracle 公司的 OID 等。 上述商业软件一般适用于客户对 SSO 的需求很高,并且企业内部采用 Domino、SAP、 Sieble 等系统比较多的情况下。单点登录产品通常需要在应用软件中增加代理模块,而商业 SSO 产品主要针对大型软件制作了代码模块。 因此,商业 SSO 软件除了价格问题外,另一个重要问题就是对客户自己的应用系统支 持未必十分完善。
第1页

CAS 单点登录操作文档

这人CAS 在 Tomcat 中实现单点登录 1证书生成及导入 1.1Server端证书配置 1.2 JAVA信任证书库 D:\Program Files\Java\jdk1.5.0\jre\lib\security\cacerts cacerts证书库默认密码-storepass changeit 查看证书 1.1.1.2 keytool -list -keystore cacerts -storepass changeit 如果存在则删除 1.1.1.1 keytool -delete -alias tomcatsso -keystore cacerts -storepass changeit 创建证书库 1.1.1.3 keytool -genkey -keyalg RSA -alias tomcatsso -dname "cn=https://www.360docs.net/doc/a14928641.html," -keystore server.keystore -storepass 12345678 导出证书 1.1.1.4 keytool -export -alias tomcatsso -file tomcatsso.crt -keystore server.keystore -storepass 12345678 加入JAVA信任证书库 1.1.1.5 keytool -import -alias tomcatsso -file tomcatsso.crt -keystore ../jre/lib/security/cacerts -storepass changeit 说明:在生成key的过程,"cn=https://www.360docs.net/doc/a14928641.html," 中的https://www.360docs.net/doc/a14928641.html,为Server端的域名(必填)。 1.2.1TOMCAT 配置SSL支持

单点登录技术方案

xxxx集团 单点登录技术方案

目录 1. xxxx集团系统建设现状 (3) 1.1. Web应用系统 (3) 1.2. C/S应用系统 (4) 1.3. SSL VPN系统 (4) 2. xxxx集团单点登录系统需求 (5) 2.1. 一站式登录需求 (5) 3. SSO(单点登录)技术简介 (6) 3.1. 修改应用程序SSO方案 (6) 3.2. 即插即用SSO方案 (7) 3.3. 两种SSO方案比较 (7) 3.4. 惠普SSO (8) 3.4.1. 惠普SSO开发背景 (8) 3.4.2. 惠普SSO的功能 (8) 3.4.3. 惠普SSO的特点 (10) 3.4.4. 惠普SSO结构 (11) 4. xxxx集团单点登录技术方案 (12) 4.1. 应用系统中部署惠普SSO单点登录 (12) 4.1.1. 解决全局的单点登录 (13) 4.1.2. 应用系统的整合 (14) 4.1.3. 用户如何过渡到使用单点登录 (15) 4.1.4. 管理员部署业务系统单点登录功能 (15) 4.1.5. 建立高扩展、高容错单点登录环境 (17) 4.1.6. 建立稳定、安全、高速网络环境 (17) 4.2. 定制工作 (18) 4.2.1. SSL VPN结合 (18) 4.2.2. 密码同步 (18) 5. 项目实施进度 (19) 5.1. 基本安装配置 (19) 5.2. 配置认证脚本 (19) 5.3. 总体进度 (20) 6. 硬件清单 (21) 7. 软件清单 (22)

1.xxxx集团系统建设现状 xxxx集团有限责任公司(以下简称集团公司)管理和运营省内11个民用机场,以及20多个关联企业(全资子公司、控股企业、参股企业)。现有的信息系统主要有生产运营系统和管理信息系统,其中生产运营系统包括机场生产运营管理系统、中小机场生产运营管理系统、离港系统、航显系统、广播系统、安检信息管理系统、控制区证件管理系统等,管理信息系统主要有财务系统、OA系统、邮件系统、资产管理系统、决策支持系统、网站信息发布审批系统、视频点播系统等。这些信息系统的用户包括集团公司所有机场以及关联企业。 各信息系统都有独立的用户组织体系,采用“用户名+密码”的方式来实现身份认证和授权访问。从而与众多企业一样存在如下一些主要问题:1、终端用户需要记住多个用户名和密码;2、终端用户需要登录不同的信息系统以获取信息;3、系统管理员难以应付对用户的管理;4、难以实施系统使用安全方面的管理措施。 1.1. Web应用系统 xxxx集团现有的Web应用系统包括:办公自动化系统(OA)、邮件系统、资产管理系统、内部网站信息发布审批系统、决策支持系统、视频点播系统等。这些系统基本上是各自独立开发的、或者购买的商业软件。每个应用系统都有自己的用户管理机制和用户认证机制,彼此独立。每个应用系统用户名、口令可能各不相同。

【单点登录】统一内部应用门户数据库设计说明书

信息中心总集成及公共服务建设项目 统一内部应用门户 数据库设计说明书 (V2.0)

目录 第一章引言 (1) 1.1编写目的 (1) 1.2项目概述 (1) 1.3定义 (1) 1.4参考资料 (2) 第二章系统定义 (4) 2.1系统边界 (4) 2.2用户需求 (4) 2.2.1数据需求 (4) 2.2.2事务需求 (5) 2.3系统需求 (6) 第三章外部设计 (7) 3.1标识符和状态 (7) 3.2使用它的程序 (7) 3.3支持软件环境 (7) 第四章结构设计 (9) 4.1概念结构设计 (9) 4.1.1指标体系编码规范 (9) 4.1.1.1引用文件 (9) 4.1.1.2编制原则 (9) 4.1.1.3统一门户涉及的指标体系 (10) 4.1.1.3.1业务类指标 (10) 4.1.1.3.2统计类指标 (10) 4.1.2统一内部应用门户 (11) 4.1.2.1实体-联系模型 (11) 4.1.2.2概念模型说明 (12) 4.1.2.2.1实体 (13)

4.1.3组织机构管理 (18) 4.1.3.1实体-联系模型 (18) 4.1.3.2概念模型说明 (19) 4.1.3.2.1实体 (20) 4.1.3.2.2联系 (28) 4.1.4单点登陆系统 (30) 4.1.4.1单点登录系统 (30) 4.1.4.2统一身份认证 (31) 4.1.4.2.1实体-联系模型 (31) 4.1.4.2.2概念模型说明 (32) 4.1.4.2.2.1实体 (32) 4.1.4.2.2.2联系 (34) 4.1.4.3统一授权管理 (35) 4.1.4.3.1实体-联系模型 (35) 4.1.4.3.2概念模型说明 (36) 4.1.4.3.2.1实体 (37) 4.1.4.3.2.2联系 (40) 4.2逻辑结构设计 (41) 4.2.1表设计 (41) 4.2.1.1统一内部应用门户 (41) 4.2.1.1.1关系表汇总 (41) 4.2.1.1.2关系表详细说明 (42) 4.2.1.2组织机构管理 (46) 4.2.1.2.1关系表汇总 (46) 4.2.1.2.2关系表详细说明 (48) 4.2.1.3单点登录 (53) 4.2.1.3.1单点登陆系统 (53) 4.2.1.3.1.1关系表汇总 (53) 4.2.1.3.1.2关系表详细说明 (53) 4.2.1.3.2统一身份认证 (54) 4.2.1.3.2.1关系表汇总 (54) 4.2.1.3.2.2关系表详细说明 (54) 4.2.1.3.3统一授权管理 (55)

CAS单点登录集成文档

一、介绍 CAS单点登录为业务系统提供统一的单点登录服务。业务系统不需要开发自己的登录界面,系统使用者也避免了在多个业务系统间重复输入密码,改善了用户体验,同时密码实现集中维护,提高了系统的安全性。 单点登录演示地址:http://172.16.10.40:1433/cas/login(社管平台测试环境)业务系统可以使用这个地址进行开发测试。 二、下载 CAS为J2EE B/S应用提供了应用集成API,可以直接调用实现单点登录的集成。:cas-client.jar 文件下载后复制到业务系统的WEB-INF/lib目录。 三、配置 在web.xml中配置认证过滤器(实现单点登录用户认证)和会话监听器(实现单点登录的注销),例如: com.iflytek.cas.listener.LogoutSessionListener casFilter com.iflytek.cas.filter.TicketValidationFilter appUrl casLoginUrl http://172.16.10.40:1433/cas/login ticketValidateUrl http://172.16.10.40:1433/cas/validate casFilter /* 过滤器参数说明: 1、appUrl:Client会根据浏览器请求自动判断这个地址,所以一般情况下是不需要设置的。但是在反向代理环境中,CAS Client会得到代理服务器的地址,所以必须手工指定这个地址。

单点登录需求规格说明书

江苏省广播电视信息网络股份有限公司苏 州分公司 关于SSO单点登录 需求规格说明书

文档控制 ●更改记录 Date表示修改日期,author表示修改负责人,Version表示当前版本,起始版本v1.0,修改后顺序依次为v1.1,v1.2等,change reference表示根据何种原因发生变更,变更来源等。 ●查阅 ●分发

目录 一,概述 (4) 1. 编写目的 (4) 2. 范围 (4) 3. 读者对象 (4) 4. 参考文档 (4) 5. 名词术语定义 (4) 二,系统说明 (4) 1. 描述 (4) 三,需求 (5) 1. 流程图 (5) 2. 实现原理 (5) 四,用例 (6) 1. 描述 (6) 2. 用例文档 (6) 3. 用例图 (7) 五,运行环境 (7) 1. 硬件环境要求 (7) 2. 软件环境要求 (8)

一,概述 江苏省广播电视信息网络股份有限公司苏州分公司(以下简称广电),目前内部的应用系统包括金蝶EAS、BOSS、呼叫中心等,信息系统希望集成类似单点登录的功能,既在金蝶的EAS门户中登录后能避免其他各系统的登录界面,公司员工只需要登录一次就可以访问所有相互信任的应用系统。 由于实现SSO单点登录的方式各不相同,要求不一,因此关于广电SSO单点登录的实现方式将以此文档的描述为准。 1.编写目的 本文档是金蝶软件(中国)有限公司苏州分公司在与江苏省广播电视信息网络有限公司苏州分公司的《苏州广电网络公司信息系统建设方案》基础上编制的。 本文档的编写为下阶段的设计、开发提供依据,为广电与金蝶双方项目组成员对当前需求提供详尽的理解,以及在开发开发过程中的协同工作提供强有力的保证,同时本文档也作为项目评审验收的依据之一。 本文档由甲乙双方项目负责人签字后方可生效,需求内容如需修改,应由合作双方协商一致,任何一方不可单独修改。 2.范围 本系统包括:EAS授权认证中心,各独立站点授权验证服务两部分组成,通过对广电的充分调研,尽可能的满足双方在合同和相关投标书中所描述的功能。 3.读者对象 本文档适用于参加本项目的所有管理人员、开发方的系统设计人员、开发人员、测试人员以及需求方的相关业务人员等。 4.参考文档 《苏州广电网络公司信息系统建设方案V1.8》章节6,公司信息化其他问题。 5.名词术语定义 用户:登录EAS门户的所有合法用户。 用例图:被称为参与者的外部用户所能观察到的系统功能的模型图,呈现了一些参 与者和一些用例,以及它们之间的关系,主要用于对系统、子系统或类的功能行为 进行建模。 二,系统说明 1.描述 单点登录(Single Sign On),简称为SSO,是目前比较流行的企业业务整合的解决方案之一。SSO的定义是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。 目前实现SSO的产品和解决方案众多,如:Microsoft公司的Passport, IBM WebSphere Portal Server、Netegrity Site Minder、Oracle 9i AS Portal Server以及Liberty等。上述SSO产品的实现机制不尽一样,它们分别有着不同的侧重点并且适合于不同的系统架构。

SSO单点登录概要设计说明书

SSO单点登录概要设计说明书 V1.0

文件更改摘要:

目录 1.引言 (3) 1.1编写目的 (3) 1.1.1描述 (3) 1.1.2存在的问题 (3) 1.1.3解决技术 (3) 1.2背景 (3) 1.3术语 (3) 1.4预期读者与阅读建议 (3) 1.5CAS运行原理 (3) 2.总体设计 (4) 2.1设计目标 (4) 2.2运行环境 (5) 2.3网络结构 (5) 2.4总体设计思路和处理流程 (5) 2.5对象关系图 (5) 2.6系统约定 (5) 2.7模块结构设计 (5) 2.8尚未解决的问题 (7) 3.接口设计(暂略) (7) 3.1用户接口(暂略) (7) 3.2外部接口(暂略) (7) 3.3内部接口(暂略) (7) 4.界面总体设计 (7)

1. 引言 1.1 编写目的 1.1.1 描述 随着信息化进一步发展和企业的业务运营需要,企业内部的应用系统越来越多。这些系统往往有着独立的用户认证模块和机制,用户不得不记住每一个系统的登录帐号和密码,在使用不同的系统时,必须重复登录,给用户的使用造成诸多不便。针对这种情况,单点登录(Single Sign On)[1]模型应运而生,同时不断地应用到企业的业务系统中。在单点登录系统中,用户只需在登录时提供一次用户认证信息,通过认证以后,在访问企业门户中的各个子系统时无需再重复登录。 1.1.2 存在的问题 在单点登录系统的实现过程中,往往会碰到如下问题:1) 企业现有的各个应用系统间相互独立或者通信状况是混乱的,对外接口也不同,这给应用系统的集成带来了极大困难。 2) 同一个用户,拥有多个应用系统的访问凭证,使用户信息难以统一管理。3) Cookie不 能跨域的限制也使实现各个应用系统之间Cookie共享成为一个难题。 1.1.3 解决技术 本文介绍的基于CAS协议,采用用户映射机制设计的单点登录方案,能很好的解决这些问题。 1.2 背景 a、软件系统的名称:SSO单点登录系统; b、对企业已有的或要建设的系统进行单点登录整合。 1.3 术语 本系统:SSO单点登录系统; 1.4 预期读者与阅读建议 1.5 CAS运行原理 我们以A公司的员工日志管理系统为例: a.传统的用户认证流程

统一身份认证平台集成接口文档

三峡大学统一身份认证平台接口文档

目录 1.统一身份认证简介 (3) 1.1 背景知识 (3) 1.1.1 什么是单点登录(Single Sign On): (3) 1.1.2 中心认证服务的设计愿景: (3) 1.2 CAS的实现 (4) 系统中的用到的凭证(ticket): (5) 2.JAVA语言 (6) 2.1 CAS简单登陆的实现 (6) 2.2 CAS登出 (12) 3.PHP语言 (13) 3.1 CAS单点登录测试环境搭建步骤 (13) 3.1.1 获取必要的驱动程序: (13) 3.1.2 搭建php运行环境 (13) 3.1.3 配置PHP cas 客户端测试程序 (13) 3.2 PHP-CAS客户端 (14) 3.2.1 cas-client的初始化 (14) 3.2.2 设置不是SSL的CAS认证 (16) 3.2.3 进行CAS认证 (17) 3.2.4 登出 (20) https://www.360docs.net/doc/a14928641.html,语言 (22) 4.1 搭建https://www.360docs.net/doc/a14928641.html,环境 (22) 4.2 CAS简单登陆实现 (22) 4.3 CAS登出实现 (23) 5.ASP语言 (24) 5.1 CAS简单登录实现 (24) 5.2 CAS登出实现 (25) 6.附录 (26) 6.1 附录1 (26) 6.2 附录2 (28) 6.3 附录3 (30) 6.4 附录4 (31) 6.5 附录5 (32)

1.统一身份认证简介 1.1背景知识 1.1.1 什么是单点登录(Single Sign On): 所谓单点登录是指基于用户/会话认证的一个过程,用户只需一次性提供凭证(仅一次登录),就可以访问多个应用。 目前单点登录主要基于Web的多种应用程序,即通过浏览器实现对多个B/S架构应用的统一账户认证。 1.1.2 中心认证服务的设计愿景: 简单的说,中心认证服务(Central Authentication Service 缩写:CAS)的目的就是使分布在一个企业内部各个不同异构系统的认证工作集中在一起,通过一个公用的认证系统统一管理和验证用户的身份,一般我们称之为统一身份认证平台。 在CAS上认证的用户将获得CAS颁发的一个证书,使用这个证书,用户可以在承认CAS 证书的各个系统上自由穿梭访问,不需要再次的登录认证。 打个比方:对于加入欧盟的国家而言,在他们国家中的公民可以凭借着自己的身份证,在整个欧洲旅行,不用签证。 对于学校内部系统而言,CAS就好比这个颁发欧盟认证的系统,其它系统都是加入欧盟的国家,它们要共同遵守和承认CAS的认证规则。 因此CAS的设计愿望就是: 实现一个易用的、能跨不同Web应用的单点登录认证中心; 实现统一的用户身份和密钥管理,减少多套密码系统造成的管理成本和安全漏洞; 降低认证模块在IT系统设计中的耦合度,提供更好的SOA设计和更弹性的安全策略。

K3单点登录二次开发指导文档

单点登录二次开发指导文档

目录 1.概要信息 (3) 1.1.目的 (3) 1.2.范围 (3) 2.二次开发实现步骤 (3) 2.1.Visual Basic单点登录二次开发实现步骤 (3) 2.1.1. Demo简介 (3) 2.1.2. 实现步骤和流程 (4) 2.1.3. 注意事项 (7) 2.2.Visual C#单点登录二次开发实现步骤 (8) 2.2.1. Demo简介 (8) 2.2.2. 实现步骤和流程 (9) 2.2.3. 注意事项 (12) https://www.360docs.net/doc/a14928641.html,单点登录二次开发实现步骤 (13) 2.3.1. Demo简介 (13) 2.3.2. 实现步骤和流程 (13) 2.3.3. 注意事项 (17)

1.概要信息 1.1. 目的 本文档主要描述如何在第三方系统中,使用K/3门户系统的单点登录功能,以方便与K/3各应用系统如K/3门户、K/3、K/3HR进行集成应用。 阅读本文需要具备一定的软件开发知识,最好具备相应语言如Visual Basic、Visual C#、https://www.360docs.net/doc/a14928641.html, 开发经验,同时也需要对单点登录的业务逻辑有一定的了解,关于单点登录业务逻辑的信息文档,请参见K/3门户的帮助系统。 1.2. 范围 本文档描述单点登录的二次开发功能实现,主要分3种语言分包进行描述,分别为VB、C#、https://www.360docs.net/doc/a14928641.html,,当然,K/3门户系统的单点登录也支持其他开发语言,具体请参考已有语言的逻辑进行二次开发工作。 2.二次开发实现步骤 2.1. Visual Basic单点登录二次开发实现步骤 2.1.1.Demo简介 正常安装K/3后,请在服务器打开 (K3安装目录一般为C:\Program Files\Kingdee\K3ERP) /K3Portal/ PortalHelp/Demo/VB/目录,其中VBPassportDemo.vbp为采用Visual Basic 语言开发的单点登录Demo,运行时界面如下图:

cas单点登录客户端说明文档

Java Web应用CAS Client端的配置详解 配置环境: 1. CAS Server 4.0已部署,跑在tomcat 7上。部署在https://www.360docs.net/doc/a14928641.html,/cas上(本地hosts 文件配置域名)。 2. CAS Client web应用也跑在tomcat 7上,部署在https://www.360docs.net/doc/a14928641.html,/app(本地hosts文件配置域名)。 以下是各种web应用集成CAS的处理信息: //=========没有使用特定安全框架如shiro的情况========== 配置步骤: 1).添加cas-client-core-3.1.10-sources.jar,如使用mvn,pom.xml中添加 org.jasig.cas cas-client-core 3.1.10 servlet-api javax.servlet 2). web.xml中添加: org.jasig.cas.client.session.SingleSignOutHttpSessionListener CAS Single Sign Out Filter org.jasig.cas.client.session.SingleSignOutFilter

单点登录方案说明书

单点登录方案说明书

修订记录

目录 1引言 (4) 1.1方案综述 (4) 1.2参考资料 (4) 1.3术语定义及说明 (4) 2技术方案 (4) 2.1方案一 filter服务 (4) 2.2方案二CAS (8) 2.3方案三OAuth (10) 2.4方案四SAML (11) 2.5方案五OpenID (13)

单点登录方案说明书 1引言 1.1方案综述 下面介绍了五个主流的单点登录技术,简单概述一下每个技术的优缺点: 方案一:属于单独创建的一个登录服务,需集成的软件登录都需要继承这个服务。实现单点登录的要点在于,每个用户登录成功之后将生成一个ticket(票),每个程序通用这个ticket。 方案二: CAS本身没有授权,也没有权限控制,但是CAS支持SAML,所以就支持了权限控制。 方案三:OAUTH需要认证才可以获取登录权限,比较不适合我们情况 方案四:SAML支持XACML协议进行权限控制。SAML协议较OAUTH来说确实比较复杂,但是功能也十分强大,支持认证,权限控制和用户属性。 方案五:OpenID是IDP提供一个身份唯一标识把第三方的应用帐号绑定到唯一标识上,只起到了认证的作用。 1.2参考资料 https://www.360docs.net/doc/a14928641.html,/alonesword/article/details/12190075 https://www.360docs.net/doc/a14928641.html,/Article/201312/268621.html https://www.360docs.net/doc/a14928641.html,/detail/48346-sso-%E7%99%BB%E5%BD%95 https://www.360docs.net/doc/a14928641.html,/link?url=ainiguhU2QB6PQCslL4nciBvux3UIzq50YUwS PEfoRntQOouVn-ks97xt8RCu9dlbQTJQvT0M8v0FjIBJZPY7aTx4ZVRTr1vy1xrGbszOCC 1.3术语定义及说明 SSO:Single Sign On 单点登录 CAS:Central Authentication Service OAuth:Open Authorization 开放授权 SAML:Security Assertion Markup Language 安全断言标记语言 2技术方案 2.1方案一 filter服务 SSO实现方式,有一个SSO Server,也会叫认证中心。同时也会有被认证的系统,即client 端系统。 此方案中, Server端是自己构建服务端,不依赖任何第三方技术。 为了更形象体现SSO,我写的SSO是有三个工程:一个SSO Server端口为8081,一个OA系统端口为8082,一个采购系统端口为8083。如图:

网站系统详细设计说明书样本

网站系统详细设计 说明书

1、引言 1.1编写目的 为了单点登录系统(SSO系统)的可行性,完整性,并能按照预期的设想实现该系统,特编写需求说明书。 同时,说明书也发挥与策划和设计人员更好地沟通的作用。 1.2背景 a.鉴于集团运营的多个独立网站(称为成员站点),每个网站都具有自己的身份验证机制,这样势必造成:生活中的 一位用户,如果要以会员的身份访问网站,需要在每个网站上注册,而且经过身份验证后,才能以会员的身份访问网 站;即使用户以同样的用户名与密码在每个网站上注册时,虽然能够在避免用户名与密码的忘记和混淆方面有一定的 作用,可是用户在某一段时间访问多个成员站点或在成员站点间跳转时,还是需要用户登录后,才能以会员的身份访 问网站。这样不但给用户带来了不便,而且成员网站为登录付出了性能的代价;

b.如果所有的成员网站,能够实现单点登录,不但在用户体验方面有所提高,而且真正体现了集团多个网站的兄弟 性。经过这种有机结合,能更好地体现公司大平台,大渠道的理念。同时,这样做也利于成员网站的相互促进与相互 宣传。 正是出于上面的两点,单点登录系统的开发是必须的,是迫在眉睫的。 1.3定义 单点登录系统提供所有成员网站的“单一登录”入口。本系统的实质是含有身份验证状态的变量, 在各个成员网站间共用。单点登录系统,包括认证服务器(称Passport服务器),成员网站服务器。 会员:用户经过Passport服务器注册成功后,就具有了会员身份。 单一登录:会员第一次访问某个成员网站时,需要提供用户名与密码,一旦经过Passport服务器的身份验证,

该会员在一定的时间内,访问任何成员网站都不需要再次登录。 Cookie验证票:含有身份验证状态的变量。由Passport服务器生成,票含有用户名,签发日期时间, 过期日期时间和用户其它数据。 2、任务概述 2.1目标 SSO系统,是集团统一的Passport,SSO系统分两个阶段实施。第一阶段对于新注册的用户提供单点登录的功能。 第二阶段,整合各个成员网站已有会员到单点登录系统中。 Passport服务器作为各个成员网站的惟一身份验证入口,需要考虑其性能,扩展性,稳定性,安全性和维护成本。特别 要注意第二阶段的开发,做到统筹考虑。 2.2最终用户的特点 最终用户是数以万计网民。这就确定了用户使用电脑的水平是参差不齐的,在开发单点登录系统时,力争做到界面友

单点登录说明文档

单点登录说明文档 目的 对Portal和Tivoli的单点功能进行分析,对下一步中实施SSO提供参考,本文档中的Portal指的是IBM WebSphere Portal、Tivoli指的是IBM Tivoli Access Manager for eb(本文档中简称为TAM),同步辅助Tivoli Identity Manager(本文档中简称为TIM)、Tivoli Directory Integrator(本文档简称TDI)实施。 文档约定 文档中的蓝色字体表明用户操作对单点的影响。 红色字体表明应该加倍注意的地方。 文档中的的Tivoli的目录服务器指IBM Tivoli Directory Server 本文仅对单一域的单点进行说明。 本文档中没有涉及CS结构的业务系统进行说明。 Portal单点解决方案(当前方案) Portal可实现哪些单点,各种单点都有哪些实现的条件? 1、不需要认证的的系统 a)可以通过链接直接实现,或者通过IFrame直接在Portal中内嵌,不需要 任何条件 b)没有密码,所有单点在任何情况下不受影响 2、支持LTPA的系统 a)这类系统有Domino、WebSphere应用(支持LTPA的应用)。一般专指 Domino。(例如Sametime、以及Rone V4版本) b)通过Portal和目标系统共享LDAP来实现 3、可以通过用户名和密码进行表单登录的系统 a)第三方软件可通过提交含有用户名和密码的表单登陆访问或可以通过改

造实现该功能 b)浏览器中输入%URL%?username=<用户名>&pasword=可以 登录 c)要求登录的时候不能出现随机的参数,例如:验证码 d)第三方软件不绑定IP、安全性不高 e)门户网站必须开发此功能的Portlet f)在Portlet 手动中保存URL、请求方式等 g)用户在第一次登录的时候必须保存用户名、密码,以后请求不用。 h)使用该系统的用户需要将该系统的服务器域名,以及门户系统的域名全 部加入到浏览器的“可信任站点”列表中。 i)如果用户在第三方系统中修改了密码,那么单点将失效,必须在Portal 中手动修改密码。 Tivoli单点解决方案(新架构方案) Tivoli可以实现哪些单点?各种单点有哪些条件? 1、不需要认证的的系统 a)可以直接实现 b)没有密码管理,单点在任何情况下不受影响 2、支持LTPA的系统 a)一般指Portal和Domino b)实现Portal的单点要求迁移Portal用户到Tivoli的目录服务器。使用Portal 的LTPA的key文件创建到Portal的联结。 3、Form Base的单点(GSO) a)第三方软件可通过提交含有用户名和密码的表单登陆访问或可以通过改 造实现该功能 b)要求登录表单中没有随机的参数出现,如:验证码 c)用户在目标系统中修改了密码,在实施了TIM的情况下,密码会自动进 行同步,所以单点不受影响。(业务系统,调用TIM的接口,反向同步) 4、Http Header的单点

相关文档
最新文档