zoukankan      html  css  js  c++  java
  • Ornament 类型资源权限

         类型资源,就是系统中所有者类型的资源只当做一个资源对待,例如Ornament的User,admin对所有的User的操作都是一致,而不是像普通资源那样,可以对某种资源的实例进行管理。

    无论普通资源还是类型资源,我们都必须一开始就确定操作,Ornament的操作如下:

        [Flags]
        public enum UserOperator
        {
            None = 0,
            Read = 1,
            Modify = 2 | 1,
            Lock = 4 | 1 | 2,
            Approve = 8 | 2 | 1,
            SetPassword = 16 | 1 | 2 | 4 | 8
        }

    定义资源

    由于没有设定UI,因此在 Ornament.MVCWebFrame\Models\BaseDataInit.cs 文件中加入。

    GenericResourceInfo<string> userResource = new GenericResourceInfo<string>("User", typeof(UserOperator))
                {
                    Name = "UserResource"
                };
    
     var resDao = OrnamentContext.Current.MemberShipFactory.CreateResourceDao();
     resDao.SaveOrUpdate(userResource);
    创建许可证的资源选择器

    因为创建许可证是可以由管理员创建的,因此需要制定一个UI给他们对相同类型的资源进行选择。

    在Ornament中,已经有关于TypeResource的选择器,了参考Ornament.MVCWebFrame/Areas/MemberShips/Views/Permissions/TypeResourcesSelector.ascx。因此我们要告诉Ornament,这个选择器的位置,所以要在Ornament.MVCWebFrame/Config/WebCfg.config中设定。

    创建一个ResourceDescription对象,xml的意思,请参考Castle的IOC容器,非常简单,不懂看也没有关系得。

    <component id="resType" type="Ornament.Web.ResourceDescription,Ornament.Web.Core">
          <parameters>
            <ValueType>System.String,mscorlib</ValueType>
            <Path>~/Areas/MemberShips/Views/Permissions/TypeResourcesSelector.ascx</Path>
            <Name>类型资源</Name>
          </parameters>
    </component>
    然后加入到容器中,请留意${resType} 和 上面xml中的 id,他们是相同的。
    <component id="Configuration"
                   type="Ornament.Web.Configuration,Ornament.Web.Core">
          <parameters>
            <resources>
              <list>
                <item>${resType}</item>
                <item>${resInfo}</item>
              </list>
            </resources>
          </parameters>
     </component>
    创建Permission

    输入URL /MemberShips/Permissions,或者在菜单“权限”->权限设定->许可设定,就会出现下面URL,然后点击添加,安装wizard一步步做就可以了

    image

    为Role分配Permission

    输入URL,MemberShips/Role, 或者菜单中选择,”权限”-“角色”,然后就可以看到下面列表,点击编辑之后,就可以为角色分配有那几个Permission了。

    image

  • 相关阅读:
    poj 2479
    纯CSS实现小圆点和三角形图案
    HDOJ1084 What Is Your Grade?
    4星|《一世富贵》:穿越到宋朝去抢了狄青、范仲淹的风头
    世界不是平的,发达国家在本地生产越来越合算。观点宏大,证据薄弱:3星|《后全球化时代》
    饥饿疗法是目前唯一确信能够延缓衰老的办法:4星|《三联生活周刊》2018年3期
    4星|《重塑》:消费者的信息能力是一个重要的经济变量。新颖的、有见地的国人原创经济理论
    3星|《高情商谈判》:谈判中控制情绪非常重要
    中间商赚差价让世界更美好:3.5星|《中间人经济》
    3.5星|《新零售的未来》:中美两国零售业的现状的分析和未来的展望
  • 原文地址:https://www.cnblogs.com/fantasylu/p/2054335.html
Copyright © 2011-2022 走看看