我可以将IsInRole与自定义对象一起使用吗? 就像我想只为Employee做一些操作,而其他只为Managers做。
我怎样才能做到这一点?
答案 0 :(得分:1)
是的,你可以:
var isMgr = User.IsInRole("Managers");
if(isMgr){
DoManagerialWork();
}else{
AccessDenied();
}
但你必须在你的(asp.net)应用程序中连接asp.net成员资格等。
答案 1 :(得分:1)
利用内置功能:
这是您在Windows应用程序中识别的方式
using System.Security.Principal;
...
var currentUser = WindowsIdentity.GetCurrent();
var winPrincipal = new WindowsPrincipal(currentUser);
if(winPrincipal.IsInRole("Employees")) {
// TODO: BANANAS
} else if (windPrincipal.IsInRole("Managers")) {
// TODO: APPLES
}
...
这是您在ASP.NET中执行此操作的方式:
if(User.IsInRole("Employees")) {
// TODO: BANANAS
} else if (User.IsInRole("Managers")) {
// TODO: APPLES
}
BANANS
和APPLES
将是您的用户获得的内容; - )