当前位置: 首页 > news >正文

网站制作协议书青州做网站的电话

网站制作协议书,青州做网站的电话,用花生壳怎么做网站的服务器,深圳燃气公司电话是多少asp.net core 使用 AccessControlHelper 控制访问权限Intro由于项目需要#xff0c;需要在基于 asp.net mvc 的 Web 项目框架中做权限的控制#xff0c;于是才有了这个权限控制组件#xff0c;最初只是支持 netframework#xff0c;后来 dotnetcore 2.0 发布了之后添加了对… asp.net core 使用 AccessControlHelper 控制访问权限Intro由于项目需要需要在基于 asp.net mvc 的 Web 项目框架中做权限的控制于是才有了这个权限控制组件最初只是支持 netframework后来 dotnetcore 2.0 发布了之后添加了对 asp.net core 的支持在 dotnetcore 3.0 发布之后也增加了对 asp.net core 3.0 的支持(1.9.0及之后版本)目前对于 asp.net core 支持的更多一些asp.net core 可以使用 TagHelper 来控制页面上元素的权限访问也可以通过 Policy 来控制权限访问同时支持通过中间件也可以实现对静态资源的访问。安装 AccessControlHelper nuget 包安装 nuget 包 WeihanLi.AspNetMvc.AccessControlHelperdotnet add package WeihanLi.AspNetMvc.AccessControlHelper实现自己的访问策略资源访问策略/API访问策略以下代码定义了一个简单的访问策略需要登录且拥有 Admin 角色可以根据自己需要调整优化public class AdminPermissionRequireStrategy : IResourceAccessStrategy { private readonly IHttpContextAccessor _accessor; public AdminPermissionRequireStrategy(IHttpContextAccessor accessor) { _accessor accessor; } public bool IsCanAccess(string accessKey) { var user _accessor.HttpContext.User; return user.Identity.IsAuthenticated user.IsInRole(Admin); } public IActionResult DisallowedCommonResult new ContentResult { Content No Permission, ContentType text/plain, StatusCode 403 }; public IActionResult DisallowedAjaxResult new JsonResult(new JsonResultModel { ErrorMsg No Permission, Status JsonResultStatus.NoPermission }); }页面元素访问策略定义页面元素/控件访问策略public class AdminOnlyControlAccessStrategy : IControlAccessStrategy { private readonly IHttpContextAccessor _accessor; public AdminOnlyControlAccessStrategy(IHttpContextAccessor httpContextAccessor) _accessor httpContextAccessor; public bool IsControlCanAccess(string accessKey) { if (Never.Equals(accessKey, System.StringComparison.OrdinalIgnoreCase)) { return false; } var user _accessor.HttpContext.User; return user.Identity.IsAuthenticated user.IsInRole(Admin); } }服务注册配置在 Startup 里注册服务services.AddAccessControlHelper() .AddResourceAccessStrategyFilters.AdminPermissionRequireStrategy() .AddControlAccessStrategyFilters.AdminOnlyControlAccessStrategy() ;如果你只是 web api 不涉及到页面元素的权限控制可以只注册 ResourceAccessStrategyservices.AddAccessControlHelper() .AddResourceAccessStrategyFilters.AdminPermissionRequireStrategy();默认访问策略的生命周期是单例的如果需要注册为Scoped可以指定默认的生命周期services.AddAccessControlHelper() .AddResourceAccessStrategyFilters.AdminPermissionRequireStrategy(ServiceLifetime.Scoped);API/资源的权限控制对于 asp.net core 应用推荐使用 Policy 来控制权限的访问可以在需要权限控制的 Action 或者 Controller 上设置 [Authorize(AccessControl)] 或者 [Authorize(AccessControlHelperConstants.PolicyName)][Authorize(AccessControlHelperConstants.PolicyName)] public class SystemSettingsController : AdminBaseController { // ... }[Authorize(AccessControlHelperConstants.PolicyName)] public ActionResult UserList() { return View(); }页面元素的权限控制引用 TagHelper在 Views 目录下的 _ViewImports.cshtml 文件中导入 AccessControlHelper 的 TagHelperusing ActivityReservation using WeihanLi.AspNetMvc.AccessControlHelper using WeihanLi.AspNetMvc.MvcSimplePager addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers addTagHelper *, WeihanLi.AspNetMvc.AccessControlHelper详见: https://github.com/WeihanLi/ActivityReservation/blob/dev/ActivityReservation/Areas/Admin/Views/_ViewImports.cshtml页面元素配置在需要权限控制的元素上增加 asp-access 的 attribute 就可以了如果需要 access-key 通过 asp-access-key 来配置ul classlist-group asp-access asp-access-keyAdminOnly li roleseparator classlist-unstyled br / /li li classlist-group-itemHtml.ActionLink(用户管理, UserList, Account)/li li classlist-group-itemHtml.ActionLink(操作日志查看, Index, OperationLog)/li li classlist-group-itemHtml.ActionLink(系统设置管理, Index, SystemSettings)/li li classlist-group-item Html.ActionLink(微信设置管理, Index, new { controller Config, area Wechat }) /li /ul这样就可以了有权限访问的时候才会正常渲染没有权限访问的时候这一段 ul 并不会渲染输出在客户端浏览器查看源代码也不会看到对应的代码Referencehttps://github.com/WeihanLi/ActivityReservationhttps://github.com/WeihanLi/AccessControlHelper
http://wiki.neutronadmin.com/news/443560/

相关文章:

  • 做特色线路的旅游网站inititle 网站建设
  • 佛山做网站公司排名网站服务器租用你的知识宝库
  • 定制型网站制作明细报价表做网站建设个体经营小微企业
  • 响应式网站 解决方案新开传奇网站999
  • 建设京东商城网站知名网络公司有哪些
  • 简单手机网站开发软件有哪些WordPress如何建小语种网站
  • 网站分析内容wordpress 评论 模块
  • 节能网站源码wordpress直接外链excel
  • 做网站网站庄家松原网站建设哪家好
  • 六安网站建设企业出版社网站必须做企业可信认证嘛
  • 做的最好的微电影网站常德网站建设哪家权威
  • 郑州网站制作网网络系统设计的步骤
  • 天津制作个人建站成都品牌logo设计
  • 贵港网站建设兼职wordpress能做跨境电商
  • 关于网站建设的英文书籍现在允许做网站吗
  • 领优惠卷的网站怎么做免费制作的网站
  • 长春网站设计公司排名ae模板素材网站
  • 厦门 外贸商城网站制作网站后台权限设计
  • 网站建设客户说没用电子商务网站建设参考书
  • 网站上怎么做动图做网站的优惠广告
  • 商城网站建设步骤建设有限公司首页
  • 我要看一集片做网站外贸网站sns
  • 网站建设 中企动力成都深圳广告宣传片拍摄
  • 成都网站建设哪家专业而且比较便宜收费网站推广
  • 设置网站默认编码中国建设银行安徽省招聘信息网站
  • 深圳网站建设网站制作网站推广会建网站的人
  • 河南郑州做网站h汉狮400电话西安网站制作 彩铃制作
  • 拖拉建网站别人抄袭网站设计怎么办
  • 怎样建置换平台网站国内最好的软件网站建设
  • c2c的电子商务网站有哪些有什么做调查的网站