Ik ben op het moment een WebAPI aan het ontwikkelen welke vanaf de buitenwereld aangeroepen moet worden. Echter moet deze niet door de hele wereld aangeroepen kunnen worden.
Afgezien van HTTPS zal er ook een BA header meegegeven moeten worden.
Nu ben ik bezig deze te implementeren, echter skipt de controller steeds de BasicAuthentication.
Of ik nou wel of niet een header mee geef, het werkt altijd.
Op het moment gebruik ik dit:
En dit implementeer ik op de volgende manier:
Bronnen:
http://stackoverflow.com/...vice-basic-authentication
http://www.ryadel.com/en/...sing-custom-actionfilter/
http://stackoverflow.com/...tication-in-asp-net-mvc-5
Afgezien van HTTPS zal er ook een BA header meegegeven moeten worden.
Nu ben ik bezig deze te implementeren, echter skipt de controller steeds de BasicAuthentication.
Of ik nou wel of niet een header mee geef, het werkt altijd.
Op het moment gebruik ik dit:
C#:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
| public class BasicAuthenticationAttribute : ActionFilterAttribute { protected string Username { get; set; } protected string Password { get; set; } public BasicAuthenticationAttribute(string username, string password) { this.Username = username; this.Password = password; } public override void OnActionExecuting(ActionExecutingContext actionContext) { var request = actionContext.HttpContext.Request; var authorization = request.Headers["Authorization"]; if (!String.IsNullOrEmpty(authorization)) { var credentials = Encoding.UTF8.GetString(Convert.FromBase64String(authorization.Substring(6))).Split(':'); var user = new { Name = credentials[0], Pass = credentials[1] }; if (user.Name == Username && user.Pass == Password) return; } actionContext.Result = new HttpUnauthorizedResult(); } } |
En dit implementeer ik op de volgende manier:
C#:
1
2
3
4
5
| [BasicAuthentication("Test","ABC")] public string Get(string AccessToken, string Label) { //code hier } |
Bronnen:
http://stackoverflow.com/...vice-basic-authentication
http://www.ryadel.com/en/...sing-custom-actionfilter/
http://stackoverflow.com/...tication-in-asp-net-mvc-5