如何使用ASP.NET MVC将某些HTML元素限制为某些角色?

Sci*_*r24 5 security asp.net-mvc authorization

我正在寻找标准做法,指定某个HTML元素,如"创建用户"按钮,只有在用户登录并且属于角色"管理员"时才会显示.

例如,在Java中使用Spring MVC,Spring Security标记库有一个控件可以实现:

<sec:authorize access="hasRole('ROLE_PRESIDENT')">
    <input type="button" value="Launch nuclear weapons"/>
</sec:authorize>
Run Code Online (Sandbox Code Playgroud)

只有当用户属于指定的角色时,才会显示标签之间出现的内容.

ASP.NET MVC有这样的功能吗?

Jon*_*Jon 5

对于 Razor 视图引擎:

@if (User.IsInRole("ROLE_PRESIDENT")) {
    <input type="button" value="launch nuclear weapons" />
}
Run Code Online (Sandbox Code Playgroud)

对于 Webforms 视图引擎:

<% if (User.IsInRole("ROLE_PRESIDENT")) { %>
    <input type="button" value="launch nuclear weapons" />
<% } %>
Run Code Online (Sandbox Code Playgroud)