2013-09-25 3 views
0

В настоящее время я делаю чек:this.User.Identity.Name из web.config или базы данных?

@if(this.User.Identity.Name=="DOMAIN\\USERID"){ 

Это прекрасно работает, но я хотел бы иметь несколько пользователей (2-3), чтобы проверить на. Я также хотел бы, чтобы он не был жестко закодирован. Есть ли способ сделать это в файле web.config или в базе данных?

ответ

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

Возможно, вместо этого используйте роли, а затем добавьте соответствующих пользователей в эту роль? Это упростит расширение в будущем, плюс вам не придется жестко кодировать список пользователей.

Смежные вопросы