asp.net – 在.NET Core 1.0 MVC中的视图中使用授权策略的任何方式?
发布时间:2020-05-24 04:14:49 所属栏目:asp.Net 来源:互联网
导读:我知道在控制器中,你可以写[Authorize(“policyName”)]没有问题,但有什么办法在视图中使用策略?我宁愿不要每次使用User.IsInRole(…)来授权一些 HTML. 编辑: 这是一些代码 Startup.cs – 政策声明 services.AddAuthorization(options = { options.AddPolic
|
我知道在控制器中,你可以写[Authorize(“policyName”)]没有问题,但有什么办法在视图中使用策略?我宁愿不要每次使用User.IsInRole(…)来授权一些 HTML. 编辑: 这是一些代码 Startup.cs – 政策声明 services.AddAuthorization(options =>
{
options.AddPolicy("testPolicy",policy =>
{
policy.RequireAuthenticatedUser()
.RequireRole("RoleOne","RoleTwo","RoleThree")
.RequireClaim(ClaimTypes.Email);
});
});
管理控制器 [Authorize("testPolicy")]
public class AdminController : Controller
{
public IActionResult Index()
{
return View();
}
}
导航栏HTML <div class="navbar navbar-inverse navbar-fixed-top">
<div class="container">
<div class="navbar-collapse collapse">
<ul class="nav navbar-nav">
<li><a asp-controller="Home" asp-action="Index">Home</a></li>
<!-- I want to implement my policy here. -->
@if (User.IsInRole("..."))
{
<li><a asp-controller="Admin" asp-action="Index">Admin</a></li>
}
</ul>
@await Html.PartialAsync("_LoginPartial")
</div>
</div>
解决方法我发现这个可能有帮助的链接: https://docs.asp.net/en/latest/security/authorization/views.html该页面的示例: @if (await AuthorizationService.AuthorizeAsync(User,"PolicyName"))
{
<p>This paragraph is displayed because you fulfilled PolicyName.</p>
}
@if (await AuthorizationService.AuthorizeAsync(User,Model,Operations.Edit))
{
<p><a class="btn btn-default" role="button"
href="@Url.Action("Edit","Document",new {id= Model.Id})">Edit</a></p>
} (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net – .Net更改元素ID
- asp.net-mvc – ASP.NET MVC,图层,模型,存储库等
- asp.net – 确定所需服务器数量的最佳方法
- asp.net-mvc – ASP.NET MVC如何指定View页面驻留在哪个文件
- 如何将ASP.NET网站编译成单个DLL文件?
- ASP.NET路由:令牌之间的字面子段和来自文字子段的字符的路
- asp.net-mvc-3 – 如何在MVC3 / 4中的Html.BeginForm()中添
- asp.net – SQL Server应用程序角色,性能命中
- asp.net – 什么是错误代码是0x80070001?那我该怎么解决呢
- asp.net-mvc – 在模型/视图/控制器键盘快捷键之间导航?
推荐文章
站长推荐
- asp.net – 是否有相当于mod_pagespeed Apache模
- asp.net – 错误:“配置部分’system.webServer
- ASP.NET Core中的Startup.cs中的asp.net-core –
- ASP.NET 5中的子域路由
- asp.net-mvc – 未找到MVC 6 404
- asp.net-mvc – 如何成功配置Common.Logging?
- 配置 – 升级到ASP.NET 4.5后出现404错误
- asp.net – gzip压缩在Windows Azure网站
- asp.net-core-mvc – 如何在Asp.net Core MVC(又
- asp.net-mvc – 加载符号时Visual Studio调试痛苦
热点阅读
