目前我正在检查:
@if(this.User.Identity.Name=="DOMAIN\\USERID"){
这很好用,但我希望有多个用户(2-3)来检查。我也想不要硬编码。有没有办法在web.config或数据库中执行此操作?
答案 0 :(得分:1)
您可以在配置中添加一个列表... 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
答案 1 :(得分:1)
也许使用角色,然后将相关用户添加到该角色?这样可以在将来更容易扩展,而且您不必对用户列表进行硬编码。