ve AuthorizeAttribute kaynaklanıyor: Eğer bir ya/veya yetkilendirme arıyorsanız, bunu deneyin. Daha sonra AuthorizeCore yöntemini geçersiz kılın ve bir boşluk içeren bir rolde doğrulama ile kendi mantığınızı uygulayın.
public class CustomAuthAttribute : AuthorizeAttribute
{
private readonly IUserRoleService _userRoleService;
private string[] _allowedRoles;
public CustomAuthAttribute(params string[] roles)
{
_userRoleService = new UserRoleService();
_allowedRoles = roles;
}
protected override bool AuthorizeCore(HttpContextBase httpContext)
{
//something like this.
var userName = httpContext.User.Identity.Name;
var userRoles = _userRoleService .GetUserRoles(userName); // return list of strings
return _allowedRoles.Any(x => userRoles.Contains(x));
}
}
Kullanımı
[CustomAuth("role withspace","admin")]
public ActionResult Index()
{
}
, değeri "Lider Trip" bir sabit hale deneyin:
örneği böyle bir şey olabilir? – Charmander
Nasıl Yapılır? '[Yetkilendirme (Rol = TripLeader, "Yöneticisi")] '? Çalışmayacak. – Blaise
@Blaise Bunu yapmayı başardınız mı? – horgh