zoukankan      html  css  js  c++  java
  • Pixysoft.Framework.Noebe.Security 开发实录


    正在重构同步层,考虑到权限问题,想了一套解决方案。

    可是做到一般,发现行不通,同步层的权限控制是不确定的,根本不能通过事先控制。

    可是我想的方案有这么完美,可以控制到表、操作、sql,于是做一个单独的模块。

    主要针对:

    1. 表名+操作类型

    2. sql

    2种情况进行权限控制。同时使用了一些反射技巧,方便权限的部署。

    开发完成:

     在代码使用标注,表示当前sql有权限

            [NoebeAccessDelcaration]
            
    private static string sql = "SELECT * FROM TB_USER";

    部署权限:

    代码
                INoebeAccessDeclaration declaration = AppSecurityNoebeManager.CreateAccessDeclaration("testnoebe");
                declaration.CreateAccessItem(Assembly.GetExecutingAssembly());
                declaration.CreateAccessItem(
    "TB_USER", SqlType.Select);
                AppSecurityNoebeManager.DeploySecurity(declaration);

    则当前权限testnoebe,对应了2个权限明细,使用的时候:

    代码
    NoebeManagerAdapter.Instances[noebeid].Initializes(AppSecurityNoebeManager.Instance, NoebeManager.Instance);

    User user 
    = SecurityDesigner.Instance.UserSearch("PIXYSOFT");
    AppSecurityManager.Instance.Login(
    "PIXYSOFT""xxxxxx");

    IAdvNoebeCommand command 
    = NoebeManagerAdapter.Instances[noebeid].SliceNoebeCommand;

    即可。

    权限的层次:

    ROLE = PIXYSOFT.FRAMEWORK.

     PERMISSION = 自定义

    当用户assign了ROLE之后,就拥有了对应的权限。 

  • 相关阅读:
    12-认识容量和升(四上)
    11 认识1-5(一上)
    10 圆柱的表面积(六下)
    009 单式折线统计图(五下)
    008 解决问题的策略 转化(苏教版 五下)
    007 分数的基本性质(五下)
    006 三位数乘两位数(四上)
    kafka,MQ消息队列
    005 圆的周长(六上)
    004 平行四边形的面积(五上)
  • 原文地址:https://www.cnblogs.com/zc22/p/1683811.html
Copyright © 2011-2022 走看看