100165422.htm

来自「C#高级编程(第三版),顶死你们。。 。up」· HTM 代码 · 共 104 行 · 第 1/2 页

HTM
104
字号
<p class="MsoNormal"><span style="FONT-FAMILY: 宋体">如果有</span><span lang="EN-US">3</span><span style="FONT-FAMILY: 宋体">个安全性策略,该应用哪个策略?有效的权限就是</span><span lang="EN-US">3</span><span style="FONT-FAMILY: 宋体">个策略级别上权限的交集。也就是说,每一个策略级别都可以否决由另一个级别的权限,对于管理员来说,这是一件好事,因为他们的设置可以覆盖用户的设置。</span></p>
<p class="MsoNormal"><span style="COLOR: black; FONT-FAMILY: 宋体">为了使用</span><span lang="EN-US" style="COLOR: black">caspol.exe</span><span style="COLOR: black; FONT-FAMILY: 宋体">处理</span><span lang="EN-US" style="COLOR: black">User</span><span style="COLOR: black; FONT-FAMILY: 宋体">级别或</span><span lang="EN-US" style="COLOR: black">Enterprise</span><span style="COLOR: black; FONT-FAMILY: 宋体">级别上的代码组和权限,必须添加</span><span lang="EN-US" style="COLOR: black">&ndash;enterprise </span><span style="COLOR: black; FONT-FAMILY: 宋体">参数或</span><span lang="EN-US" style="COLOR: black">-user</span><span style="COLOR: black; FONT-FAMILY: 宋体">参数,以改变命令的模式。默认状态下,</span><span lang="EN-US" style="COLOR: black">caspol.exe</span><span style="COLOR: black; FONT-FAMILY: 宋体">工作在</span><span lang="EN-US" style="COLOR: black">Machine</span><span style="COLOR: black; FONT-FAMILY: 宋体">级别上,到目<span style="LETTER-SPACING: 0.1pt">前为止,我们一直在</span></span><span lang="EN-US" style="COLOR: black; LETTER-SPACING: 0.1pt">Machine</span><span style="COLOR: black; FONT-FAMILY: 宋体; LETTER-SPACING: 0.1pt">级别上使用</span><span lang="EN-US" style="COLOR: black; LETTER-SPACING: 0.1pt">caspol.exe</span><span style="COLOR: black; FONT-FAMILY: 宋体; LETTER-SPACING: 0.1pt">。下面的命令用于列出</span><span lang="EN-US" style="COLOR: black; LETTER-SPACING: 0.1pt">User</span><span style="COLOR: black; FONT-FAMILY: 宋体; LETTER-SPACING: 0.1pt">级别上的代码组:</span></p>
<p class="a6" style="MARGIN-TOP: 0cm; MARGIN-LEFT: 21.45pt; MARGIN-RIGHT: 0cm; FTEL: 18.45pt"><strong><span lang="EN-US" style="COLOR: black">caspol.exe &ndash;user &ndash;listgroups</span></strong></p>
<p align="center"><span lang="EN-US" style="COLOR: black"><img height="394" src="14/image004.gif" width="575" alt="" /></span></p>
<p style="FTEL: 8.15pt" align="center"><span style="COLOR: black; FONT-FAMILY: 宋体">图</span><span lang="EN-US" style="COLOR: black">&nbsp; 14-4</span></p>
<p class="MsoNormal"><span style="FONT-FAMILY: 宋体">在默认的安装上,这个命令的执行结果如下所示:</span></p>
<p class="a6" style="MARGIN-TOP: 8.15pt; MARGIN-LEFT: 21.45pt; MARGIN-RIGHT: 0cm; FTEL: 18.45pt"><span lang="EN-US">Security is ON</span></p>
<p class="a6" style="MARGIN-LEFT: 21.45pt; FTEL: 18.45pt"><span lang="EN-US">Execution checking is ON</span></p>
<p class="a6" style="MARGIN-LEFT: 21.45pt; FTEL: 18.45pt"><span lang="EN-US">Policy change prompt is ON</span></p>
<p class="a6" style="MARGIN-LEFT: 21.45pt; FTEL: 18.45pt"><span lang="EN-US">&nbsp;</span></p>
<p class="a6" style="MARGIN-LEFT: 21.45pt; FTEL: 18.45pt"><span lang="EN-US">Level = User</span></p>
<p class="a6" style="MARGIN-LEFT: 21.45pt; FTEL: 18.45pt"><span lang="EN-US">&nbsp;</span></p>
<p class="a6" style="MARGIN-LEFT: 21.45pt; FTEL: 18.45pt"><span lang="EN-US">Code Groups:</span></p>
<p class="a6" style="MARGIN-LEFT: 21.45pt; FTEL: 18.45pt"><span lang="EN-US">&nbsp;</span></p>
<p class="a6" style="MARGIN-LEFT: 21.45pt; FTEL: 18.45pt"><span lang="EN-US">1.&nbsp; All code: FullTrust</span></p>
<p class="a6" style="MARGIN-TOP: 0cm; MARGIN-LEFT: 21.45pt; MARGIN-RIGHT: 0cm; FTEL: 18.45pt"><span lang="EN-US">Success</span></p>
<p class="MsoNormal"><span style="COLOR: black; FONT-FAMILY: 宋体">运行同样的命令,但是这次看一下</span><span lang="EN-US" style="COLOR: black">Enterprise</span><span style="COLOR: black; FONT-FAMILY: 宋体">级别上的代码组:</span></p>
<p class="a6" style="MARGIN-TOP: 8.15pt; MARGIN-LEFT: 21.45pt; MARGIN-RIGHT: 0cm; FTEL: 18.45pt"><strong><span lang="EN-US" style="COLOR: black">caspol.exe &ndash;enterprise &ndash;listgroups</span></strong></p>
<p class="MsoNormal"><span style="COLOR: black; FONT-FAMILY: 宋体">这个命令的执行结果如下所示:</span></p>
<p class="a6" style="MARGIN-TOP: 8.15pt; MARGIN-LEFT: 21.45pt; MARGIN-RIGHT: 0cm; FTEL: 18.45pt"><span lang="EN-US">Security is ON</span></p>
<p class="a6" style="MARGIN-LEFT: 21.45pt; FTEL: 18.45pt"><span lang="EN-US">Execution checking is ON</span></p>
<p class="a6" style="MARGIN-LEFT: 21.45pt; FTEL: 18.45pt"><span lang="EN-US">Policy change prompt is ON</span></p>
<p class="a6" style="MARGIN-LEFT: 21.45pt; FTEL: 18.45pt"><span lang="EN-US">&nbsp;</span></p>
<p class="a6" style="MARGIN-LEFT: 21.45pt; FTEL: 18.45pt"><span lang="EN-US">Level = Enterprise</span></p>
<p class="a6" style="MARGIN-LEFT: 21.45pt; FTEL: 18.45pt"><span lang="EN-US">&nbsp;</span></p>
<p class="a6" style="MARGIN-LEFT: 21.45pt; FTEL: 18.45pt"><span lang="EN-US">Code Groups:</span></p>
<p class="a6" style="MARGIN-LEFT: 21.45pt; FTEL: 18.45pt"><span lang="EN-US">&nbsp;</span></p>
<p class="a6" style="MARGIN-LEFT: 21.45pt; FTEL: 18.45pt"><span lang="EN-US">1.&nbsp; All code: FullTrust</span></p>
<p class="a6" style="MARGIN-TOP: 0cm; MARGIN-LEFT: 21.45pt; MARGIN-RIGHT: 0cm; FTEL: 18.45pt"><span lang="EN-US">Success</span></p>
<p class="MsoNormal"><span style="COLOR: black; FONT-FAMILY: 宋体">从中可以看出,在默认状态下,</span><span lang="EN-US" style="COLOR: black">User</span><span style="COLOR: black; FONT-FAMILY: 宋体">级别和</span><span lang="EN-US" style="COLOR: black">Enterprise</span><span style="COLOR: black; FONT-FAMILY: 宋体">级别都配置为允许赋予</span><span lang="EN-US" style="COLOR: black">All Code</span><span style="COLOR: black; FONT-FAMILY: 宋体">代码组</span><span lang="EN-US" style="COLOR: black">FullTrust</span><span style="COLOR: black; FONT-FAMILY: 宋体">权限。其结果是,</span><span lang="EN-US" style="COLOR: black">.NET</span><span style="COLOR: black; FONT-FAMILY: 宋体">安全性的默认设置对</span><span lang="EN-US" style="COLOR: black">Enterprise</span><span style="COLOR: black; FONT-FAMILY: 宋体">级别和</span><span lang="EN-US" style="COLOR: black">User</span><span style="COLOR: black; FONT-FAMILY: 宋体">级别没有任何限制,实际执行的策略完全由</span><span lang="EN-US" style="COLOR: black">Machine</span><span style="COLOR: black; FONT-FAMILY: 宋体">级别的安全性所决定。例如,如果要把比</span><span lang="EN-US" style="COLOR: black">FullTrust</span><span style="COLOR: black; FONT-FAMILY: 宋体">限制更严格的权限或权限集赋予</span><span lang="EN-US" style="COLOR: black">Enterprise</span><span style="COLOR: black; FONT-FAMILY: 宋体">级别或</span><span lang="EN-US" style="COLOR: black">User</span><span style="COLOR: black; FONT-FAMILY: 宋体">级别,则那些限制条件将对所有的权限都起作用,并且有可能覆盖</span><span lang="EN-US" style="COLOR: black">Machine</span><span style="COLOR: black; FONT-FAMILY: 宋体">级别上的权限。由于有效的权限是所有权限的交集,因此,如果要把</span><span lang="EN-US" style="COLOR: black">FullTrust</span><span style="COLOR: black; FONT-FAMILY: 宋体">应用到代码组上,就必须把这个权限赋予</span><span lang="EN-US" style="COLOR: black">3</span><span style="COLOR: black; FONT-FAMILY: 宋体">个策略级别上的所有代码组。</span></p>
<p class="MsoNormal"><span style="COLOR: black; FONT-FAMILY: 宋体">当以管理员的身份运行</span><span lang="EN-US" style="COLOR: black">caspol.exe</span><span style="COLOR: black; FONT-FAMILY: 宋体">时,</span><span lang="EN-US" style="COLOR: black">caspol.exe</span><span style="COLOR: black; FONT-FAMILY: 宋体">把</span><span lang="EN-US" style="COLOR: black">Machine</span><span style="COLOR: black; FONT-FAMILY: 宋体">级别作为默认级别。但是,如果退出并且以非</span><span lang="EN-US" style="COLOR: black">Administrator</span><span style="COLOR: black; FONT-FAMILY: 宋体">用户组中的用户身份重新登录时,</span><span lang="EN-US" style="COLOR: black">caspol.exe</span><span style="COLOR: black; FONT-FAMILY: 宋体">将使用</span><span lang="EN-US" style="COLOR: black">User</span><span style="COLOR: black; FONT-FAMILY: 宋体">级别代替默认的</span><span lang="EN-US" style="COLOR: black">Machine</span><span style="COLOR: black; FONT-FAMILY: 宋体">级别。此外,如果用户更改后的安全性使</span><span lang="EN-US" style="COLOR: black">caspol.exe</span><span style="COLOR: black; FONT-FAMILY: 宋体">不能运行,</span><span lang="EN-US" style="COLOR: black">caspol.exe</span><span style="COLOR: black; FONT-FAMILY: 宋体">就不允许用户对安全性策略进行改动。</span></p>
<p class="MsoNormal"><span style="COLOR: black; FONT-FAMILY: 宋体">现在,我们已经对</span><span lang="EN-US" style="COLOR: black">.NET</span><span style="COLOR: black; FONT-FAMILY: 宋体">的安全体系有了一定的了解,下面讨论如何通过编程的方式访问</span><span lang="EN-US" style="COLOR: black">.NET</span><span style="COLOR: black; FONT-FAMILY: 宋体">的特性。</span></p></div>
                <!-- page -->
                <div class="page" style="text-align: center">
                    <a href="100165421.htm">上一页</a>&nbsp;&nbsp;&nbsp;<a href="index.html">首页</a>&nbsp;&nbsp;&nbsp;<a href="100165423.htm">下一页</a>
                </div>
                <div style="margin: 0px auto; width: 700px; border: solid 1px #0b5f98;">
                    <div style="float: left; width: 16px; background-color: #0b5f98; color: White; padding: 1px;">
                        图书导读
                    </div>
                    <div style="float: right; width: 670px; text-align: left; line-height: 16pt; padding-left: 2px">
                        <!--导读-->
                        <h1 id="divCurrentNode2" style="color: #b83507; width: 100%; text-align: left; font-size: 12px; padding-left: 2px">当前章节:<a href='100165422.htm'><font color='red'>14.1.3  策略的级别:Machine、User和Enterprise</font></a></h1>
                        <div id="divRealteNod2" style="padding-left: 2px">
                        <div style='float:left;width:49%'>·<a href='100165419.htm'>14.1  代码访问的安全性</a></div><div style='float:right;width:49%'>·<a href='100165420.htm'>14.1.1  代码组</a></div><div style='float:left;width:49%'>·<a href='100165421.htm'>14.1.2  代码访问权限和权限集</a></div><div style='float:right;width:49%'>·<a href='100165423.htm'>14.2  对Framework中安全性的支持</a></div><div style='float:left;width:49%'>·<a href='100165424.htm'>14.2.1  要求权限</a></div><div style='float:right;width:49%'>·<a href='100165425.htm'>14.2.2  请求权限</a></div></div>
                    </div>
                </div>
                </div>
        </div>
</body>
</html>

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?