带你走近AngularJS系列:
------------------------------------------------------------------------------------------------
之前我们已经介绍了所有的AngularJS 基础知识,下面让我们通过实例来加深记忆,体验自定义指令的乐趣。
我们展示的第一个例子是手风琴效果指令:
效果图如下:
在线实例地址:手风琴指令
不使用AngularJS的纯HTML源码如下:
div class "accordion" id = "accordion2" > div class = "accordion-group" > div class = "accordion-heading" > a class "accordion-toggle" data-toggle = "collapse" data-parent = "#accordion2" href = "#collapseOne" > CollapsibleGroupItem#1 < div id = "collapseOne" class = "accordion-bodycollapsein" > < div class = "accordion-inner" > Animpariaturcliche... < div class = "accordion-group" > < div class = "accordion-heading" > < a class = "accordion-toggle" data-toggle = "collapse" data-parent = "#accordion2" href = "#collapseTwo" > CollapsibleGroupItem#2 < div id = "collapseTwo" class = "accordion-bodycollapse" > < div class = "accordion-inner" > Animpariaturcliche... |
以上纯 HTML源码也可以实现手风琴效果,但是它仅仅是一些标记,包含了大量的链接和id,不利于维护。
使用AngularJS自定义指令结合以下HTML源码同样可以得到预期效果:
<bodyng-app= "btst" > <h3>BootStrap手风琴指令</h3> <btst-accordion> <btst-panetitle= "<b>基本功能</b>" category= "{name:'test'}" > <div>AngularJS......</div> <btst-panetitle= "<b>创建自定义指令</b>" > <div>使用过AngularJS......</div> <btst-panetitle= "<b>体验实例</b>" > <div>之前我们已经介绍了所有的AngularJS......</div> </btst-accordion> |
这一版使用的HTML标记更少,看起来清晰且易维护。
下面,让我们看下指令写法。
首先,我们定义模块"btstAccordion" 指令:
var btst=angular.module( "btst" ,[]); btst.directive( "btstAccordion" , function (){ "<divclass='accordion'ng-transclude></div>" , link: function (scope,element,attrs){ //确保accordion拥有id 解决企业子CA无法检查吊销的问题 作者:兰晓宇 【引言】 "大数据"时代的到来已经势不可挡。在海量的数据面前,已经有越来越多的人意识到大数带来的挑战。其中非常重要的一项挑战就是信息的安全。在这样的背景下,加密技术得到了非常广泛的应用,而证书,作用加密技术中密钥传递的载体,也已被广泛。 对于较大型的企业,单一的证书颁发机构(后简称CA)已不能满足业务和管理的需求,在部署层级CA的过程中,很多管理员会遇到子CA的服务无法启动的情况,本文将带你探索原因并解决问题。 【正文】 1.设计离线根CA根CA的CA证书为自签名,在证书的信任链中,处于顶端,保护根CA的安全对整个证书的结构非常重要。为此,我们可以用工作组服务器部署离线根CA。 离线的根CA,并不直接面向证书申请者,而仅仅是为子CA颁发CA证书。也不需要与企业的网络环境相连,申请证书时,用移动存储设备将子CA的申请文件复制到根CA即可。之所以要用工作组状态的计算机,是因为域内的计算机脱离域环境60天后,安全通道会过期,即信任关系失效。 2.部署企业子CA在按照正常的方式部署完成企业子CA,申请并安装完证书后,很多管理员会遇到如下的报错,并无法启用子CA:
出现这一错误,是因为我们的根CA是处于工作组状态,并不能成功发布吊销列表。由于我们的根CA仅仅是为子CA颁发CA证书,所以其吊销列表意义并不大,我们可以通过一行命令,关闭子CA验证吊销列表这一动作。命令如下: certutil.exe -setregca\CRLFLags +CRLF_REVCHECK_IGNORE_OFFLINE
再次启用子CA,即可成功开启:
如果要再次开启验证吊销服务器,可以将+变成-: certutil.exe -setreg ca\CRLFLags -CRLF_REVCHECK_IGNORE_OFFLINE 3.刨根问底其实问题至此,已经解决了。但本着刨根问底的劲头,我们再来深入挖掘一下。因为有些管理在部署层级CA的时候,并没有遇到这个问题。 那是因为,这部分管理员部署的根CA并不是工作组状态的,而是域内的成员计算机。为此,我们来看一下,成员计算机默认情况下的吊销列表发布信息:CA管理控制台-右键点击CA服务器-选择属性-点击扩展标签。 在这一标签中,我们可以看到默认情况下,吊销列表会发布到AD的配置分区下面。
接下来我们按照这个路径,利用ADSI编辑器查看一下已发布的吊销列表:
这就是为什么当根CA是成员计算机时,并无报错,但是当根CA是工作组计算机时,便无法开启的根本原因……
订阅:
博文评论 (Atom)
|
没有评论:
发表评论