基于.netstandard的权限控制组件
2017-09-05 13:05
155 查看
基于.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和
NoAccessControlFilter 来控制
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的权限控制组件
- react高阶组件经典应用之权限控制详解
- 基于RESTful API 怎么设计用户权限控制?
- 如何设计数据库表实现完整的RBAC(基于角色权限控制)
- 一种基于delphi巧妙权限控制方案及其实现方法
- 基于访问控制列表限制网管SNMP访问权限
- 如何设计数据库表实现完整的RBAC(基于角色权限控制)
- Yii2.0中文开发向导——RBAC(基于角色的访问控制权限)表结构原理分析
- 基于RBAC用户权限控制的校验
- 基于SpringAOP实现数据权限控制
- Thinkphp的RBAC,基于角色的权限控制
- Spring Security(16)——基于表达式的权限控制
- 基于角色的权限控制
- 基于角色的权限控制在springMVC框架中的实现
- 基于Acegi权限控制的思路
- 教程:基于访问控制的ABAP CDS视图权限
- Godtear.Security,基于CAS(Code Access Security)的权限控制(二)
- RBAC基于角色的权限控制个人理解
- 一种基于annotation的Spring-mvc权限控制方法
- 基于Extjs6+shiro的权限控制程序例子