如何检查Java代码中的用户权限或权限?例如 - 我想根据角色为用户显示或隐藏按钮.有注释,如:
@PreAuthorize("hasRole('ROLE_USER')")
Run Code Online (Sandbox Code Playgroud)
如何在Java代码中创建它?就像是 :
if(somethingHere.hasRole("ROLE_MANAGER")) {
layout.addComponent(new Button("Edit users"));
}
Run Code Online (Sandbox Code Playgroud) 我开发了一个使用REST api的单页应用程序.用户需要登录才能访问该应用程序.当用户登录时,他们将被重定向到/ dashboard.在此URL /路由上,我想根据用户的角色(例如普通用户或管理员用户)加载不同的模板和控制器.
我查看了模板部分下的https://github.com/angular-ui/ui-router/wiki,但没有一个选项支持我想要实现的目标.
任何解决方案还应根据用户角色加载不同的控制器,例如UserDashboardController或AdminDashboardController.
所以我需要的是根据用户登录时在服务中设置的用户角色变量加载不同模板和控制器的单一路径.
我是在考虑正确的方向,还是应该实施另一种解决方案?
任何有关这方面的帮助将不胜感激.
在我的视图中,我有一些管理员链接,我想隐藏和显示基于用户角色如何在视图内执行此操作,例如
<%= if(CHECK IF USER ROLE ADMIN) { %>
<div class="tools">
<ul>
<li class="edit"><%= Html.ActionLink("Edit", "Edit", new { id = Model.storyId }) %></li>
<li class="delete"><%= Html.ActionLink("Delete", "Delete", new { id = Model.storyId }) %></li>
</ul>
</div>
<%= } %>
Run Code Online (Sandbox Code Playgroud) 我需要以某种方式检查某人的角色只有他们的身份.我找到了current_user_can()
支票.但这仅适用于已登录的用户.如果该用户不是当前用户,我该如何检查?我正在使用电话订购系统,但使用管理员/特定帐户为其他人订购.
谢谢
我正在开发一个新的Angular2应用程序,我想知道如何管理某些角色可访问的路由以及为某些角色创建,编辑和删除项目的权限.
我想知道你是如何解决这个问题的:
如何管理对某些UI元素的访问?应用程序如何知道显示或隐藏它?你为此使用单一服务吗?或者您是否为应用中的不同位置创建了不同的条件?
你如何管理你的路由?你使用CanActivate,CanActivateChild,CanLoad等吗?您是为所有路由构建单一保护服务还是为不同模块或组件提供不同服务?
最后一个问题.分割应用程序的最佳方法是什么,然后你可以像CMS一样出售它?我的意思是我们如何才能实现从市场上加载其他模块的可能性,并将其添加到您的应用程序中?
你如何解决类似的问题?
我们非常感谢任何有关这些主题的材料的指导,经验或指示.提前致谢.
在ASP.NET Core应用程序中,我想创建某些角色作为管理不同用户权限的基础.遗憾的是,文档告知详细说明如何使用自定义角色,例如在控制器/操作中,而不是如何创建它们.我发现我可以使用RoleManager<IdentityRole>
此实例,当实例在应用程序中注册其定义的和ASP.NET Core身份时,会自动注入到控制器构造函数中.
这让我添加一个这样的自定义角色:
var testRole = new IdentityRole("TestRole");
if(!roleManager.RoleExistsAsync(testRole.Name).Result) {
roleManager.CreateAsync(testRole);
}
Run Code Online (Sandbox Code Playgroud)
它在数据库中工作并创建角色.但是这种检查总是会在数据库上产生开销,调用特定的控制器/动作.所以我想在我的应用程序启动后检查一次,如果自定义角色存在并添加它们.ConfigureServices
Startup.cs中的方法似乎很适合.
但是:如何创建RoleManager<IdentityRole>
类的实例呢?我想在这里使用最佳实践方法,而不是通过自己创建依赖实例来解决这个问题,这似乎会导致很多工作,因为它没有很好的文档化,并且肯定不会遵循最佳实践,因为ASP.NET Core正在使用依赖注入这样的事情(这在我的意见中也是合理的).
换句话说:我需要在控制器之外使用依赖注入.
大多数网站都可以使用哪些标准用户角色名称?下面是我能想到的最佳角色列表(按重要性排序),但我希望为我正在处理的用户系统找到至少十个角色名称.
admin: Manage everything
manager: Manage most aspects of the site
editor: Scheduling and managing content
author: Write important content
contributors: Authors with limited rights
moderator: Moderate user content
member: Special user access
subscriber: Paying Average Joe
user: Average Joe
Run Code Online (Sandbox Code Playgroud)
我感兴趣的另一件事是这些名称是否正确翻译成其他语言.
我想只为给定用户 - xyz提供SQL Server数据库中单个表的READ访问权限
经历过以下问题:
授予对数据库的SQL Server登录访问权限 - SQL Server
在SQL Server 2005中授予对2个表的只读访问权限的最佳方法?
但它为我提出了一些基本问题,通过角色和用户名提供访问权限有何不同?
请提供一种有效的方法来做到这一点
我正在寻找一个t-sql脚本,它可以列出数据库以及为特定用户映射的相应角色/权限.使用SQL Server 2008 R2.
user-roles ×10
sql-server ×2
angular ×1
angularjs ×1
asp.net-core ×1
asp.net-mvc ×1
c# ×1
controller ×1
couchdb ×1
database ×1
grant ×1
java ×1
permissions ×1
php ×1
t-sql ×1
templates ×1
wordpress ×1