2016-01-31 2 views
0

Мне нужно реализовать проект в MVC4 и EF5 с помощью проверки подлинности Active Directory, но вместо того, чтобы иметь группы AD для ролей, я должен реализовать Roles в SQL.MVC4 и EF5 с аутентификацией Active Directory и ролями в SQL

До сих пор я получил некоторые сущности для поддержки ... Надеюсь, это поможет.

  • Роль
  • Пользователь
  • UserRole

Я пытаюсь использовать [Role] аннотацию. Является ли это возможным?

Я немного потерял, мне нужна помощь ПОЖАЛУЙСТА !!!!

ответ

0

Думаю, что у меня это получилось.

Пожалуйста, не стесняйтесь, чтобы улучшить и перепечатывать его:

[AttributeUsage(AttributeTargets.Class, AllowMultiple = false, Inherited = true)] 
public class ARQAuthorize : AuthorizeAttribute 
{ 
    protected override bool AuthorizeCore(HttpContextBase httpContext) 
    { 
     bool allowToUse = false; 
     IPrincipal user = httpContext.User; 
     if (!user.Identity.IsAuthenticated) 
     { 
      return false; 
     } 
     else{ 
     try 
     { 
      Arq.Core.DAL.ArqContext c = new ArqContext(); 
      if (c.Users.Where(u => u.UserName.ToUpper() == user.Identity.Name.ToUpper()).FirstOrDefault().role.RoleDescription == "ADMINS") 
      { 
       allowToUse = true; 
      } 
     } 
     catch (Exception) 
     { 

      allowToUse = false; 
     } 
     }   
      return allowToUse; 

    } 

}