Καλημέρα,
Καταρχήν να πω ότι δεν έχω ξαναασχοληθεί με asp.net και γενικά με το διαδικτυακό κομμάτι του .νετ
Προσπαθώ να φτιάξω ένα web service το οποίο θα είναι ένα command line πρόγραμμα self hosted με owin χωρίς mvc το οποίο θα πρέπει να λειτουργεί με token για την εκτέλεση των διαφόρων actions που θα υπάρχουν στους controllers.
Βλέπω σε διάφορα παραδείγματα ότι βάζουν το [authorize] attribute. Το θέμα μου είναι πως θα κάνω authenticate τον χρήστη. Επειδή δεν έχω ξαναασχοληθεί με αυτό το κομμάτι του .νετ έχω χαθεί από τα παραδείγματα που βρίσκω στο internet αν και πάνω κάτω από ότι βλέπω έχουν περίπου την ίδια λογική.
Μέχρι στιγμής ο κώδικας είναι
Program.cs
static void Main()
{
int port = 9000;
string baseAddress = "http://*:" + port + "/";
// Start OWIN host
using (WebApp.Start<Startup>(url: baseAddress))
{
Console.ReadLine();
}
}
Startup.cs
public class Startup
{
// This code configures Web API contained in the class Startup, which is additionally specified as the type parameter in WebApplication.Start
public void Configuration(IAppBuilder appBuilder)
{
// Configure Web API for Self-Host
HttpConfiguration config = new HttpConfiguration();
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);
appBuilder.UseWebApi(config);
}
}
TestController.cs
public class TestController : ApiController
{
// GET api/values
[Authorize]
public IEnumerable<string> Get()
{
return new string[] { "test"};
}
}
Ευχαριστώ πολύ