检查 当前用户是否 管理员 isUserAdmin

两种方法:

第一: 查询userGroupList表

select userGroupList  where userGroupList.userId == currentUserId  && userGroupList.groupId == 'Admin'
   

第二: 执行EventSecurity::construct(curuserid()).isUserAdmin()

static void CheckFormTab(FormDataSource _frm,FormTabControl _Tab = null)
{
    FormBuildGroupControl       formBuildGroupControl;
    FormGroupControl c;
    FormGridControl gd;
    Int dataSourceId;

    If (_tab || EventSecurity::construct(curuserid()).isUserAdmin())
    {
        c = _Tab.addControl(FormControlType::TabPage,'RunTimeControlTab');
        c.caption("Security");
        gd = c.addControl(FormControlType::Grid,'RunTimeControlGrid');
        gd.widthMode(1);
        gd.heightMode(1);
        dataSourceId = _frm.id();
        gd.dataSource(dataSourceId);
        gd.addDataField(dataSourceId,fieldnum(NJ_FormSecurity,UserId));
        gd.addDataField(dataSourceId,fieldnum(NJ_FormSecurity,UserName));
        gd.addDataField(dataSourceId,fieldnum(NJ_FormSecurity,Dept));
        gd.addDataField(dataSourceId,fieldnum(NJ_FormSecurity,Remarks));
        If (EventSecurity::construct(curuserid()).isUserAdmin() )
        {
            gd.addDataField(dataSourceId,fieldnum(NJ_FormSecurity,FormName)).allowEdit(false);
            gd.addDataField(dataSourceId,fieldnum(NJ_FormSecurity,Level));
            gd.addDataField(dataSourceId,fieldnum(NJ_FormSecurity,FormAdmin));
            gd.addDataField(dataSourceId,fieldnum(NJ_FormSecurity,EmailAdmin));
        }
    }

}

Static void CheckFormSecurity(FormDataSource _frm,FormName _FormName,FormTabControl tab)
{
    NJ_FormSecurity _Form;

    If (!EventSecurity::construct(curuserid()).isUserAdmin() )
    {
        //Select FirstOnly _Form Where _Form.FormName == this.form().name()
        Select FirstOnly _Form Where _Form.FormName == _FormName
                                && _Form.UserID == CurUserID();
        If (!_Form)
            throw Error("No Right!");
        else
        If (_Form.formadmin == NoYes::Yes)
            NJ_BM::CheckFormTab(_frm,tab);
    }
    else
        NJ_BM::CheckFormTab(_frm,tab);
    //    element.CheckFormTab(tab);
}

转载于:https://www.cnblogs.com/perock/archive/2012/03/01/2375272.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值