摘要:
在windows应用程序的开发中,我们常常需要面临与外围数据源设备通信的问题。计算机和单片机(如mcs-51)都具有串行通信口,可以设计相应的串口通信程序,完成二者之间的数据通信任务。 实际工作中利用串口完成通信任务的时候非常之多。已有一些文章介绍串口编程的文章在计算机杂志上发表。但总的感觉说来不太全面,特别是介绍32位下编程的更少,且很不详细。笔者在实际工作中积累了较多经验,结合......
摘要:
web成为标准平台已势不可挡,越来越多的企业开始将erp、crm、scm移植到web上。ssl vpn将是web应用热潮的直接受益者,它被认为是实现远程安全访问web应用的最佳手段。不过,在大规模部署实施之前,ssl vpn需要加强自身的安全性。 在ssl问世之初,安全专家就指出了ssl存在的安全隐患:身份验证网络服务器所使用的数字证书面临被偷窃的危险;大量ssl会话所需要的密码计......
单一登录Web应用程序的企业级安全系统
单一登录解决方案概述 【程序编程相关:
如何对ListView的项进行排序】 【推荐阅读:
DataGrid使用技巧(一)】 图 1 所示为内部用户与外部用户在登录到位于一个公司的 intranet 上的网站时所执行的一系列步骤.在 50,000 英尺的级别上,这个系统仅有四个组件:通过 windows 身份验证的网站.active directory.一个数据库服务器与一个或多个基于窗体进行身份验证的网站. 【扩展信息:
在Asp.Net中从sqlserver检】 图" 1:涵盖内部用户与外部用户的单一登录解决方案的示例 intranet 解决方案 在图 1 的左上角可以看到内部用户使用浏览器浏览到特定的网站(第 1 步).这个网站验证(第 2 步)用户的 windows 凭据(通过 active directory).如果用户是有效的 windows 用户,则允许其进入该站点.通过身份验证后,将检索用户的标识,并调用包含指定用户能够运行的应用程序列表的数据库表(第 3 步).这些应用程序将显示在 datagrid 中,以供用户选择. 用户单击希望运行的应用程序后,将生成一个唯一的.只能使用一次的令牌(第 4 步).此令牌与用户标识将被存储在另一个数据库表中.然后此令牌被传递给用户要运行的 web 应用程序中的一个特定页面(通过查询行).此特殊页面从查询行读取该令牌,然后验证在数据库表中是否存在此令牌(第 5 步).如果令牌存在,它将在数据库中检索登录 id,然后删除存储此令牌的记录.此操作能够防止其他人再次使用此令牌并将登录 id 发送回 web 应用程序. 在了解了 web 应用程序中的用户标识后,您需要生成一个 asp.net 窗体身份验证票据,因为在 intranet 中,所有的 web 应用程序都将使用基于窗体的身份验证.此票据将被正在浏览站点中所有的安全页面的用户所使用. extranet 解决方案 想要访问 web 应用程序的外部用户(您所在域之外的用户)将被定向到与内部用户不同的起始页面(参见图 2).内部用户与外部用户被定向到的 web 应用程序采取了基于窗体的身份验证的安全措施.当外部用户试图打开此 web 应用程序中的任何页面时,他们将被自动重定向至登录页面.此登录页面与对内部用户进行身份验证的页面不同.用户必须输入其凭据,然后系统将调用同一个数据库,以确定该用户对此应用程序是否有效.如果有效,则将为此用户会话生成正常的基于窗体的身份验证 cookie. 类与页面 您需要创建若干类与 web 页面以支持企业级安全系统.图 2 显示了需要为此系统编写的每个类与 web 页.本文稍后将讨论此图所显示的每个类.在此图之后,列出了每个类的说明信息以及您的系统中的 web 页面主要功能. 图" 2:设计与开发单一登录解决方案只需要几个类与页面 apps 类 此类用于检索指定用户的应用程序列表.它还将生成一个新令牌.根据给定的令牌检索用户的标识信息以及删除令牌. apptoken" 类 此类包含从 apps 类的 verifylogintoken 方法返回令牌信息时所需的四个属性.表 2 说明了此类包含的四个属性. appuserroles" 类 此类用于检索试图登录应用程序的用户的信息.其中的一个方法根据给定的登录 id 与应用程序键值检查登录是否有效.另一个方法返回给定用户的角色集.还有一个方法根据登录 id 与应用程序键值返回 esuser 表的主键. applauncher 应用程序中的 default.aspx 此 web 页类将检索通过了 iis 身份验证的 windows 用户,并返回允许这些用户访问的应用程序的列表.它将在 datagrid 中显示此列表(图 3),并允许用户单击其中特定的应用程序.用户单击应用程序后,此页将生成一个新令牌,并将此令牌与用户 id 存储到 esapptoken 表,然后调用此应用程序将令牌传递给该 web 应用程序中的 applogin.aspx 页. 图" 3:应用程序启动器显示允许登录的用户运行的应用程序的列表 每个网站中的 applogin.aspx 只能从应用程序启动器调用此 web 页类.若有任何其他的应用程序试图调用此页,它会将用户重定向至网站的 default.aspx 页.因为每个 web 应用程序都使用基于窗体的身份验证,所以此操作将强制 asp.net 将用户重定向至站点中的 login.aspx 页. 如果使用令牌从应用程序启动器站点调用此页,那么此页将调用 apps 类中的方法,以验证此令牌是否有效.如果令牌有效,则 apps 类将返回一个 apptoken 对象,以便此页能够使用此对象中的信息创建基于窗体的身份验证的用户. 每个网站中的 login.aspx 这是常规的 web 登录页面,它要求用户输入凭据,并在数据库中检查这些凭据,以确保是有效用户;此外,如果是有效用户,则还将创建身份验证票据,并在用户进入站点时,重定向至用户请求的页面. 每个网站中的 default.aspx 这是每个网站的主登陆页面.只有通过了 applogin 或 login web 页面的身份验证的用户才能够浏览此页以及站点中所有其他页. 表 您还需要在数据库中创建若干表,用来支持此单一登录企业级安全系统.本文中的表所包含的字段不多,但就所述内容而言,已经足够.图" 4 显示了需要在数据库中创建的每个表之间的关系.在图 4 之后,会看到这些表的列表,以及本解决方案中使用的每个表的说明信息. 图" 4:实现单一登录系统的完整角色所需的若干表 esapps 此表包含企业中所有 web 应用程序的列表.除应用程序的名称以外,表中还包含应用程序的详细说明信息以及应用程序的 url.url 是完整形式的 url,并且应以 applogin.aspx 页结尾.应用程序启动器中的 default.aspx 页将负责在重定向至 web 应用程序前向 url 中添加字符串 “token=<generatedtoken>”. 图" 5:esapps 表的示例数据 esusers 此表列出可以使用应用程序的所有用户.您需要为所有内部用户复制您的用户域登录 id.您可能还希望为外部用户添加密码字段. 图" 6:esusers 表的示例数据 esappsusers 此表将 esusers 表中的用户与 esapps 表中他们能够运行的应用程序关联起来.表中的数据只有 esusers 表与 esapps 表的外键. esapproles 此表包含每个应用程序的角色集.例如,一个应用程序可能包含“admin”与“user”角色,而其他应用程序则可能包含“user”与“supervisor”规则. 图" 7:esapproles 表的示例数据 esappusersroles ...
下一页 摘要:
np被看好,与网络设备和安全设备功能界限的日趋淡化息息相关。交换机和路由器需要支持安全模块,防火墙需要支持vlan管理和ids功能。这就为能够进行完整性校验、身份认证和数据加密的np打开了市场。 防火墙、ids是广泛使用的安全应用设备。这些设备不仅需要为状态过滤和特征匹配提供高性能计算平台,同时也需要支持病毒扫描等多种服务。 防火墙的状态检测技术需要对通信状态建立数据库,跟踪......