MOSS身份安全的初步研究

本文探讨了MOSS(Microsoft Office SharePoint Server)的安全机制,包括IIS的身份验证、ASP.NET的身份安全以及MOSS的执行安全。重点介绍了IIS的ACL和集成域身份验证,ASP.NET的Identity配置,以及MOSS如何处理客户端身份来判断访问权限。同时,文章讨论了提升程序集权限的方法和策略文件的使用,以确保安全执行。

MOSS身份安全的初步研究

MOSS是运行在IIS中的 ASP.NET应用程序,所以我们在学习、研究MOSS的安全机制时必需对IIS和ASP.NET的安全机制一并考虑。下图是一个MOSS安全机制的全貌。

        一、IIS身份验证

处于最外围的是IIS的身份验证机制。Intranet中通常使用ACL身份验证或集成域身份验证。ACL是指Windows文件系统的访问控制列表,IIS通过客户端提供的用户名、密码与请求的文件ACL进行比较,可验证身份、权限;集成域身份验证的工作模式,委托域控制器进行身份验证,最广泛的身份验证方式。

         二、ASP.NET身份安全

通过了外围IIS的身份验证,用户就可以请求到MOSS的页面了。MOSS页面代码如果要操作本地资源,那么ASP.NET需要决定按照什么样的身份来执行它。ASP.NET给开发人员提供了指定这个身份的可能——Web应用程序的配置文件中Indentity节点。下面列举了该节点三种可能的配置。

 

<identity impersonate="false" /> (或无该节点配制)

使用运行Web应用程序的帐号身份来执行ASP.NET代码,默认情况下为本地“Network Service”帐号。

<identity impersonate="true" />

要求IIS传递客户端身份,并使用该身份来执行ASP.NET代码

<identity impersonate="true"  username = “xxx” password = “xxx”/>

使用username指定的帐号身份来执行ASP.NET代码

MOSS中一般使用表中的第二种配制,把客户端身份传递到web应用程序,以判断其访问MOSS内容的权限。

三、MOSS执行安全

         部署在MOSS网站上的程序集的安全性受到两个方面的制约:一是程序集自身的受信级别,二是可调用程序集身份的受信级别。要提高程序集自身的受信级别,可以把程序集部署到GAC中,也在Web.config中把站点信任级别设为Full,如下所示:

         <trust level=”Full” originUrl = “” />

         实际上,这两种提升程序集权限的方法都有缺点,前者使程序集具有了本机的所有执行权限,后者使站点上所有程序集具有了Full权限。最安全的做法是编写一个策略文件,在策略文件中声明程序集有权限进行的操作。策略文件的写法,请看下面的示例,更详细的说明请查阅MOSS开发参考:

 

<configuration>

    <mscorlib>

        <security>

            <policy>

                <PolicyLevel version="1">

                    <SecurityClasses>

                        <SecurityClass Name="UnionCodeGroup" Description="System.Security.Policy.UnionCodeGroup, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>

                    </SecurityClasses>

                        <CodeGroup

                                class="UnionCodeGroup"

         

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值