当前位置:主页   - 电脑 - 网站开发 - ASP.Net
Godtear.Security,基于CAS(Code Access Security)的权限控制(二) 下
来源:网络   作者:   更新时间:2012-05-15
收藏此页】    【字号    】    【打印】    【关闭

  四,Godtear.Security的权限控制示范

  Godtear.Security附带了Samples项目,Samples项目不是以框架设计者的角度,而是以应用系统设计者的角度来使用Godtear.Security的。

<!--[if !supportLists]-->1.     <!--[endif]-->Samples.BusinessModel

  Samples中的Samples.BusinessModel项目中定义了实体对象User,权限申明标签SampleCodeAccessAttribute,及应用系统中的权限资源PermissionResource枚举和权限操作RightType枚举。

/**//// <summary>
  /// 权限类型
  /// </summary>
    public enum  RightType
    {
        Read=1,
        Write=2,
        Delete=4,
        Execute=8
    }
    /**//// <summary>
    /// 权限资源
    /// </summary>
    public enum PermissionResource
    {
        SendEmail,
        Download,
        PlayMusic
    }

 public class SampleCodeSecurityAttribute:CodeSecurityBaseAttribute
    {
        public SampleCodeSecurityAttribute(SecurityAction action)
            : base(action)
        {
        }
        public new PermissionResource ResourceID
        {
            get { throw new NotSupportedException("this method is not ResourceID"); }
            set
            {
                base.ResourceID = value.ToString();
            }
        }
        public RightType RequiredRight
        {
            get { throw new NotSupportedException("this method is not supported"); }
            set
            {
                SetAccessCodes<RightType>(value);
            }
        }
    }

 public class User : IGTIdentity
    {
        public User(string username)
        {
            _name = username;
            _isAuthenticated = true;
        }
    
        public string AuthenticationType { get { return "SampleAuthentication"; } }
     
        public bool IsAuthenticated
        {
            get
            {
                return _isAuthenticated;
            }
        }
        private bool _isAuthenticated;
    
        public string Name
        {
            get { return _name; }
        }
        private string _name;
       public void FromXml(string xml)
       {
       }
        public string ToXml()
        {
            return null;
        }
}

其它资源
来源声明

版权与免责声明
1、本站所发布的文章仅供技术交流参考,本站不主张将其做为决策的依据,浏览者可自愿选择采信与否,本站不对因采信这些信息所产生的任何问题负责。
2、本站部分文章来源于网络,其版权为原权利人所有。由于来源之故,有的文章未能获得作者姓名,署“未知”或“佚名”。对于这些文章,有知悉作者姓名的请告知本站,以便及时署名。如果作者要求删除,我们将予以删除。除此之外本站不再承担其它责任。
3、本站部分文章来源于本站原创,本站拥有所有权利。
4、如对本站发布的信息有异议,请联系我们,经本站确认后,将在三个工作日内做出修改或删除处理。
请参阅权责声明