【发布时间】:2013-09-25 18:51:55
【问题描述】:
目前我正在检查:
@if(this.User.Identity.Name=="DOMAIN\\USERID"){
这很好用,但我希望有多个用户 (2-3) 来检查。我也不想硬编码。有没有办法在 web.config 或数据库中执行此操作?
【问题讨论】:
标签: asp.net-mvc razor
目前我正在检查:
@if(this.User.Identity.Name=="DOMAIN\\USERID"){
这很好用,但我希望有多个用户 (2-3) 来检查。我也不想硬编码。有没有办法在 web.config 或数据库中执行此操作?
【问题讨论】:
标签: asp.net-mvc razor
您可以在配置中添加一个列表...User1,User2 等,然后针对此列表使用linq 和.Any()?
var users = "user1,user2,user3".Split(','); //list will come from your config
bool result = users.Any(u => u == this.User.Identity.Name);
另外,由于您使用的是 MVC,如果您想将 authorization 用于 controllers 等,您可以使用 [Authorize] 属性。也请参阅此 SO 链接 Authorize attribute in ASP.NET MVC
【讨论】:
也许改用角色然后将相关用户添加到该角色?这将使将来更容易扩展,而且您不必对用户列表进行硬编码。
【讨论】: