1.通过二开扩展实现:
代码主要是:
(1)判断页面是不是通过后台开发环境打开的,核心代码:request.IsPlatTool()
(2)区分开发者和用户
参考代码:
public class ESPageAuthorityInitHandlerCallback : IESHandlerCallback
{
public IESHandlerCallback Create()
{
return new ESPageAuthorityInitHandlerCallback();
}
public bool DoCallback(ESEngineContext engineContext, ESActionContext actionContext)
{
if (!actionContext.RequirePermission) return true;
var request = engineContext.Request;
string path = request.CurrentExecutionFilePath;
if (request.IsPlatTool())//是由平台工具打开的
{
ESLoginUserInfo userInfo = ESLoginUserHelper.GetLoginUser();
if (userInfo == null)
{
//engineContext.Response.End();
return false;
}
// 结合登录二开代码开发者和用户的区分判断
if (userInfo.UserType == "esdev") // 开发者
{
return true;
}
else // 用户
{
engineContext.Response.End();
return false;
}
}
else
{
return true;
}
}
}
2.在环境参数配置里配置这个二开
3.预览效果:
另外:删除带“.Config.dll”的dll,所有用户就都不可以进入开发环境了。