In meinem ASP.NET Web-API-Projekt habe ich eine benutzerdefinierte Klasse die Rollen Eigenschaft für das Autorisieren Attribut außer Kraft zu setzen.Wo erfolgt die ASP.NET-Autorisierung?
public class AuthorizeRolesAttribute : AuthorizeAttribute
{
public AuthorizeRolesAttribute(params Roles[] roles) : base()
{
if (roles.Length == 1)
Roles = ((int)roles[0]).ToString();
else
{
for (int i = 0; i < roles.Length; i++)
{
var role = ((int)roles[i]).ToString();
if (i == 0) // First role
{
Roles = role + ",";
continue;
}
if (i == (roles.Length - 1)) // Last role
{
Roles = Roles + role;
break;
}
Roles = Roles + "," + role;
}
}
}
}
public enum Roles : int
{
User1 = 1,
}
Nimmt man nun an, dass ich eine API genannt habe, aber die Anforderung nicht über das „User1“ role-Attribut, Wo kann ich einen Haltepunkt setzte die eigentliche Prüfung und Vergleich der Rolle zu sehen, die ich habe von der Anfrage mit der Rolle, die an eine bestimmte API angehängt ist. Muss ich eine andere Klasse schreiben, die einer anderen Klasse inhärent ist?