基于.netstandard的权限控制组件
来源:互联网 发布:王尼玛 知乎 五五开 编辑:程序博客网 时间:2024/06/05 22:49
基于.netstandard的权限控制组件
Intro
由于项目需要,需要在 基于 Asp.net mvc 的 Web 项目框架中做权限的控制,于是才有了这个权限控制组件。
项目基于 .NETStandard,同时支持 asp.net mvc(.NET faremwork4.5以上) 和 asp.net core 项目(asp.net 2.0以上)
GetStarted
Nuget Package https://www.nuget.org/packages/WeihanLi.AspNetMvc.AccessControlHelper/
安装权限控制组件
WeihanLi.AspNetMvc.AccessControlHelper
,可以直接在 VisualStudio 中 Nuget 包管理器中搜索安装,也可以通过下面的命令来安装:asp.net:
Install-Package WeihanLi.AspNetMvc.AccessControlHelper
asp.net core:
dotnet add package WeihanLi.AspNetMvc.AccessControlHelper
实现自己的权限控制显示策略类
- 实现页面元素显示策略接口
IControlAccessStrategy
- 实现
Action
访问显示策略接口IActionAccessStrategy
示例代码:
- ASP.NET Mvc
https://github.com/WeihanLi/AccessControlHelper/blob/master/PowerControlDemo/Helper/AccessStrategy.cs
- ASP.NET Core
https://github.com/WeihanLi/AccessControlHelper/blob/master/AccessControlDemo/Startup.cs#L60
- 实现页面元素显示策略接口
程序启动时注册自己的显示策略
- asp.net mvc
在
Global
文件中注册显示策略AccessControlHelperExtensions.RegisterAccessStragety(new AccessControlHelperOptions { ActionAccessStrategy = new ActionAccessStrategy(), ControlAccessStrategy = new ControlAccessStrategy() });
- asp.net core
在
Startup
文件中注册显示策略// Method1
app.UseAccessControlHelper(options => { options.ActionAccessStrategy = new ActionAccessStrategy(), options.ControlAccessStrategy = new ControlAccessStrategy() });
// Method2
app.UseAccessControlHelper(new AccessControlHelperOptions { ActionAccessStrategy = new ActionAccessStrategy(), ControlAccessStrategy = new ControlAccessStrategy() });
控制
Action
的方法权限通过
AccessControl
和NoAccessControl
Filter 来控制Action
的访问权限控制页面元素的显示
通过
HtmlHelper
扩展方法来实现权限控制SparkContainer
使用
@using(Html.SparkContainer("div",new { @class="container",custom-attribute = "abcd" })){ @Html.Raw("1234")}@using (Html.SparkContainer("span",new { @class = "custom_p111" }, "F7A17FF9-3371-4667-B78E-BD11691CA852")) { @:12344 }
没有权限访问就不会渲染到页面上,有权限访问的时候渲染得到的 Html 如下:
<div class="container" custom-attribute="abcd">1234</div><span class="custome_p111">12344</span>
Contact
如果您在使用中遇到了问题,欢迎随时与我联系。
Contact me: weihanli@outlook.com
- 基于.netstandard的权限控制组件
- 基于角色的权限控制
- 基于角色的权限控制
- 基于角色的权限控制
- 基于角色的权限控制
- 基于角色的权限控制
- 基于角色的权限控制
- 基于方法的权限控制
- AspNetForums中基于角色的权限控制
- AspNetForums中基于角色的权限控制
- 基于角色访问的权限控制
- 基于资源控制的权限管理想法
- 基于资源控制的权限管理想法
- 基于角色的权限控制(MENU)
- AspNetForums中基于角色的权限控制
- 基于Acegi权限控制的思路
- 基于Struts2拦截器的权限控制
- 基于位运算的权限细粒度控制
- java基础学习总结——多态(动态绑定)
- java基础学习总结——对象转型
- java中文件IO操作总结
- 条款5:类拷贝赋值操作符不能作用于-》常量成员变量和引用成员变量
- java基础学习总结——抽象类
- 基于.netstandard的权限控制组件
- mysql数据在网页上显示乱码解决方案
- 等价表达式-OJ
- Django学习笔记 -- 2 正则表达式
- 线性表-2
- Radan 自动排序文本的设置
- ajax返回json类型日期格式化
- java基础学习总结——接口
- OAuth是一个关于授权(authorization)的开放网络标准,在全世界得到广泛应用,目前的版本是2.0版。 本文对OAuth 2.0的设计思路和运行流程,做一个简明通俗的解释,主要参考材料为R