标签:htm lis 界面库 控制 获取数据 and role 实现 northwind
以前写了几篇关于插件的文章:
按以上步骤可以即可实现自己的插件框架,可以大大地提高开发的效率和程序的稳定性。依据此思路,参考了网上的一些方法和代码,并使用DEV界面库实习了一套基于插件的开发框架,集成了一个简单实用的权限管理,开发一些小型的管理软件很方便,现在完全开源。在上述开源的代码中,有权限管理的模块可以做为开发插件的例子,同时也使用了一个NorthWind数据库的查看示例,即各个插件之间如何通信获取数据的方法。
向系统增加一个功能的代码如下:
class NorthWindCommand:td.Core.AbstractToolButtonCommand
{
public override void Run()
{
var p = WorkBenchSingleTon.WorkBench.GetTabPage("Customers");
if (p == null)
{
NorthWindView view = new NorthWindView();
WorkBenchSingleTon.WorkBench.AddView(view);
}
}
public override bool IsEnabled
{
get
{
CustomPrincipal cp = (CustomPrincipal)Thread.CurrentPrincipal; ;
bool r = (cp.IsAuthorized("Test 1") || cp.IsInRole("Admin"));
return r&&( null== WorkBenchSingleTon.WorkBench.GetTabPage("Customers"));
}
set
{
base.IsEnabled = value;
}
}
}
以上代码就实现了该功能的权限控制和状态的控制了。非常方便告别到处判断按钮或窗口的状态。
开源所有的代码,请加QQ群732846120插件框架开发群,获取所有源码。
完全开源基于插件的开发框架(使用DEV实现Ribbon界面)
标签:htm lis 界面库 控制 获取数据 and role 实现 northwind
原文地址:https://www.cnblogs.com/city-hunter/p/9162169.html